我正在向两个客户发送一条消息并等待他们都回复。 我必须检索首先应答的套接字的 SOCKET 值,但选择仅返回 1,0 或 -1。如何编辑我的代码以便获得该值?
fd_set readSet;
FD_ZERO(&readSet);
FD_SET(actionGuy, &readSet);
FD_SET(actionAnotherGuy, &readSet);
send(actionGuy, "go", 3, 0);
send(actionAnotherGuy, "go", 3, 0);
SOCKET first = select(actionGuy + 1, &readSet, NULL, NULL, NULL);
最佳答案
如果它们在 select()
的同一次调用中都变得可读,那么它们基本上同时变得可读。内核无法将它们分开:你不能。如果间隔很长,它们将在单独的 select()
调用中变得可读。
关于c++ - 检查哪个套接字首先回答 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574178/