私はソケットから読み取るために選択アプローチを使用していますが、ほとんどの人がこれを最善の方法として推奨しています。問題は、送信されたメッセージが分割され、その半分しか受信されない場合に発生します。私はループするようにサーバーアプリケーション全体をブロックし、残りのメッセージをrecv()しようとする必要があります。私は送信ソケットを扱うために新しいスレッドを作成することを考えていました。しかし、それは選択のアイデアを殺すように感じる。 クライアントのように、完全なメッセージを送信できないようなものがあります。selectを使用してブロックrecv()を処理する方法
どうすればよいですか?
返信をバッファします。そして、あなたが十分に見えるまで、解析を開始しないでください。 – wildplasser
どうすればそれらをバッファリングする必要がありますか?送信されたメッセージをバッファに入れたままにしておく、接続に関連した構造を持っていますか? –
はい。はい。はい。はい。 – wildplasser