Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
PHP ソケットを介してデータのバイナリ表現を送信しようとしています。
したがって、数値が 15 の場合、15 のsocket_writeバイナリ表現として 00001111 が送信されます。
socket_write
どうすればいいですか?
chr関数を使用します。
chr
socket_write( $fp, chr(15));
\x16 進値でエスケープを使用することもできます。
\x
socket_write( $fp, "\xff\xff\xff\xff" );
それぞれの値が 255 の 4 バイトを送信します。
任意のデータからバイナリ表現を生成するには、pack()関数を使用します。
pack()
例:
$data = pack("v", 15); // "i" is unsigned little endian integer socket_write($socket, $data);
さまざまな形式の詳細については、マニュアル ページを参照してください。unpack()逆の機能もあります。
unpack()