C のソケット ライブラリについていくつか質問があります。質問で参照するコードのスニペットを次に示します。
char recv_buffer[3000];
recv(socket, recv_buffer, 3000, 0);
- recv_buffer のサイズはどのように決定すればよいですか? 私は3000を使用していますが、それは任意です。
recv()
バッファより大きいパケットを受信すると どうなりますか?- recv を再度呼び出さずにメッセージ全体を受信したかどうかを確認し、受信するものが何もないときに永遠に待機させるにはどうすればよいですか?
- スペースが不足することを恐れずにバッファーに追加し続けることができるように、バッファーに一定量のスペースを持たないようにする方法はありますか? おそらく、最新の応答をバッファ
strcat
に連結するために使用していますか?recv()
たくさんの質問があることは承知していますが、回答をいただければ幸いです。