我想使用
PHP Sockets通过网络连接将JSON消息从PHP脚本发送到C#应用程序.
Usually, for binary protocols,每条消息的前4个字节必须是一个整数,表示消息的长度(多少字节).
在C#中,我为每条消息添加一个整数,该整数表示消息的长度,如下所示:
byte[] msgBytes = UTF8Encoding.UTF8.GetBytes("A JSON msg");
byte[] prefixBytes = BitConverter.GetBytes(msgBytes.Length);
byte[] msgToSend = new byte[prefixBytes.Length + msgBytes.Length];
Buffer.BlockCopy(prefixBytes, 0, msgToSend, 0, prefixBytes.Length);
Buffer.BlockCopy(msgBytes, 0, msgToSend, prefixBytes.Length, msgBytes.Length);
据我所知,在PHP中,函数socket_send只接受字符串.那么,我怎么能在PHP 5.x中做同样的前缀呢?
更新:我发布了一个follow-up question,介绍如何从网络套接字接收此类前缀数据.