C でソケット プログラミング プロジェクトを実装していselect()
ます。クライアントからのデータを待機するために使用しています。UDP ソケットが 2select()
つあり、ソケットの 1 つを常に無視しています。
どこから探し始めればよいか、簡単に説明できる人はいますか? これが私のサーバーが行っていることです
waitThreshold.tv_sec = 5000;
waitThreshold.tv_usec = 50;
if (sd > sd1)
max_sd = (sd + 1);
else if(sd1 > sd)
max_sd = (sd1 + 1);
FD_ZERO(&read_sds);
FD_SET(sd, &read_sds);
FD_SET(sd1, &read_sds);
ret = select(max_sd, &read_sds, NULL, NULL, &waitThreshold);
if (ret < 0) {
printf("\nSelect thrown an exception\n");
return 0;
} else if (FD_ISSET(sd, &read_sds)) {
// code for socket one
} else if (FD_ISSET(sd1, &read_sds)) {
// code for socket two
}