データ量が大きい場合1回のrecvfrom()で全て受け取れるとは限らないので while( RecvSize < TotalSize ) { ----RecvSize += recvfrom(); } とやると思います。 しかし、マルチスレッドの場合、仮に上のwhile文が5回まわって全データ受信できるとしたとき、 2回目が回り終ってからスレッドが切り替わり、 別の(全く同じ動きをする)スレッドに移った場合、そちらで残り3回分のデータが受信されてしまうのではないでしょうか?
↧