0

fd_set に stdin 記述子が含まれている場合、選択に問題があります。同様の質問がいくつか見つかりましたが、答えは役に立ちませんでした。そして、はい、私はこれを読みました(ソケットと標準入力から読み取ろうとしている間、selectは常に-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