C++ - サーバーが返すデータの量がわかりません。PHP のsocket_read() はどのようにして完全なデータを受信しますか?
淡淡烟草味
淡淡烟草味 2017-05-16 13:09:13
0
1
630

サーバーによって送信されるデータが、クライアントが一度に処理できる最大バイト数を常に超える場合、クライアントは、socket_read 操作を実行せずに、受信したデータが完了したことをどのように判断できますか? ? /n で構成されます。 while ループを使用してサーバーのデータを読み取ろうとしましたが、動作に問題がありました。

淡淡烟草味
淡淡烟草味

全員に返信(1)
phpcn_u1582

短いリンクの場合は、socket_set_nonblockを使用してソケットリンクをノンブロッキングに設定し、ループ内でsocket_readを実行し、戻り値の長さが0の場合はループを抜けて受信を終了します(このメソッドは原因が発生する可能性があります)。場合によっては問題が発生します)。

サーバー側でエラーが発生しないようにデータ長を指定するのが最善です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート