【发布时间】:2011-04-28 23:16:34
【问题描述】:
如何制作一个需要对具有以下结构的linux C socket服务器执行socket_sendto的php socket客户端
typedef struct
{
UI2 todo;
char rz[LNG_RZ + 1];
char saId[LNG_SAT_ID + 1];
char user[LNG_USER + 1];
char lang[LANGLEN + 1];
SI4 result;
UI4 socket;
char text[LNG_ALLG + 1];
char filename[MAX_PATHLEN];
} dmsAuf_Head;
显然,众所周知,PHP 不支持 struct 如何使用 php 将 c 数据传递给套接字
我知道使用下面的方法制作 c struct 对象有一个技巧:
class dmsAuf_Head {
public todo;
public rz
public saId
public user
public lang
public result;
public socket;
public text
public filename
}
$obj = new dmsAuf_Head();
但这不会考虑属性的大小吗?有什么推荐吗?
发送前如何序列化所有内容???
根据c socket服务器的开发者的建议,他们使用以下c代码向c socket服务器发送值:
rval = send(dms_aufHead->socket, (char *) dms_aufHead, sizeof(dmsAuf_Head), 0);
那么如何使用 php 发送 dms_aufHead 数据呢?
根据c socket服务器的开发者的建议,他们使用以下c代码向c socket服务器发送值:
rval = send(dms_aufHead->socket, (char *) dms_aufHead, sizeof(dmsAuf_Head), 0);
那么如何使用 php 发送 dms_aufHead 数据呢?
如果(例如)$rz 只是 3 个字符(在这种情况下)而不是 13 个字符作为所需长度怎么办?我应该为 PHP 输出什么?
【问题讨论】: