mySocket
私は次のようなループで受信するWinSockを持っています:
while(keepGoing){
FD_SET fsd;
FD_ZERO(&fds);
FD_SET(mySocket, &fds);
int result = select(1+mySocket, &fds, (fd_set *)0, (fd_set *)0, &timeout);
if(result>0 && FD_ISSET(mySocket, &fds){
result = recvfrom(mySocket, buff, NUM_BYTES, (struct sockaddr *)&add, &length);
// do stuff
}
}
受信を停止したい場合はfalseに設定できますが、ソケットはそれが変更されたことを確認する前にkeepGoing
待機している可能性があります。timeout
keepGoing
タイムアウトの値を変更したくないと仮定すると、タイムアウトが発生するのを待たずに受信を停止するようにソケットに指示する信頼できる方法はありますか?