私がwinsockについて読んだことから、recvは1回の呼び出しで送信者からすべてのデータを受信しない傾向があります。たとえば、クライアントから300バイトを送信し、サーバーでrecvを呼び出すと、最初の呼び出しで200バイトしか受信できず、バッファーがそれらの200バイトでいっぱいになる可能性があります。 ?最後の100バイトはどうなりますか?
また、バッファが小さすぎて512バイトなどで、クライアントが600を送信するとします。最初のrecv呼び出しでバッファがいっぱいになり、最後の88バイトが削除されますか?別のバッファを使用してもう一度recvを呼び出すと、そのバッファの最初の88バイトが残りのデータになりますか?
そして第3に、1つと2つが真で、データのパケット全体を別々のバッファーで受信した場合、データの解析を開始するために、それらを1つのバッファーにつなぎ合わせる必要がありますか?