如何通过PHP套接字发送二进制表示


How do I send the binary representation through a PHP socket?

我试图通过PHP套接字发送数据的二进制表示。

因此,如果数字是15,socket_write将发送00001111作为15的二进制表示。

我该怎么做?

使用chr功能:

socket_write( $fp, chr(15));

也可以使用十六进制值的'x转义:

socket_write( $fp, "'xff'xff'xff'xff" );

将发送4个字节,每个字节的值为255

使用pack()函数从任意数据生成二进制表示。

的例子:

$data = pack("v", 15); // "i" is unsigned little endian integer
socket_write($socket, $data);

有关各种格式的更多信息,请参阅手册页。还有unpack()用于反向功能。