4

PHP ソケットを使用して、ac# アプリから PHP 5.3 スクリプトへの tcp/ip ソケット接続を作成しようとしています。C# アプリは、JSON 文字列を PHP スクリプトに送信する必要があります。

socket_read マニュアルに関する私の質問: 彼らはどういう意味ですか:

"PHP_BINARY_READ (Default) - use the system recv() function.
Safe for reading binary data."

PHP_BINARY_READ とは正確には何ですか? また、このパラメーターを使用するときに recv() 関数を使用する必要があるのはなぜですか?

どんな助けでも大歓迎です。

4

2 に答える 2

5

重要な部分は、他の選択肢についてドキュメントに記載されていることです。

  • PHP_NORMAL_READ - 読み取りは\nまたはで停止し\rます。

ソケットPHP_NORMAL_READが行指向のテキスト プロトコルであるかどうかを選択します。ソケットPHP_BINARY_READが他のものであるかどうかを選択します。

于 2012-03-15T23:32:12.223 に答える
4

これは、PHP_BINARY_READ を使用すると、このシステム コールが基になるソケットから読み取るために使用されることを意味します。バイナリ データの安全性に関する注意事項は、これを次の代替案と対比することで説明されます。

PHP_NORMAL_READ - 読み取りは \n または \r で停止します。

したがって、一度に 1 行ずつ読み取りたい場合は、PHP_NORMAL_READ を使用します。それ以外の場合は、PHP_BINARY_READ (デフォルト) を使用します。

于 2012-03-15T23:30:57.270 に答える