0

当 fd_set 包含标准输入描述符时,我在选择时遇到问题。我发现了一些类似的问题,但答案没有帮助。是的,我已经阅读了这个(选择在尝试从套接字和标准输入中读取时总是返回-1)主题:)

注意:我使用的是 windows、Netbeans IDE 和 cygwin;

问题:当 fd_set 包含标准输入描述符和连接描述符时,Select 返回 -1。在没有标准输入描述符的情况下,选择也可以正常工作。

while(1) {
    FD_ZERO(&readableSocksSet);
    FD_SET(fileno(stdin), &readableSocksSet);
    FD_SET(serverSocket, &readableSocksSet);
    i = select(serverSocket + 1, &readableSocksSet, NULL, NULL, 0);
}

在这段代码之后: i == -1

4

0 回答 0