如何制作一个 PHP 套接字客户端,需要执行 `socket_sendto` 到以下具有结构的 Linux C 套接字服务器?
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数据传递给socket?
我知道有一种方法可以使用以下方法来创建c结构体对象:
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?