我在php中通过 udp 发送二进制包时遇到问题。
我的代码:
$frame[0] = 0x5A;
$frame[1] = 1;
$frame[2] = 1;
$frame[3] = 0;
$frame[4] = $frame[0] ^ $frame[1] ^ $frame[2] ^ $frame[3];
$frame_pack = $frame[0] . $frame[1] . $frame[2] . $frame[3] . $frame[4];
$socket = stream_socket_client($link_syntax);
fwrite($socket, $frame_pack);
stream_socket_sendto($socket, "Out of Band data.", STREAM_OOB);
fclose($socket);
Result var_dump($frame_pack): string(7) "9011090"
将数据包发送到服务器 - 好的。现在我需要以二进制形式发送$frame_pack
。
答案 0 :(得分:0)
$frame_pack = $frame[0] . $frame[1] . $frame[2] . $frame[3] . $frame[4];
替换以下
$frame_pack = pack("C*", $frame[0], $frame[1], $frame[2], $frame[3], $frame[4]);