Значение сокета Linux - PullRequest
       11

Значение сокета Linux

0 голосов
/ 19 ноября 2009

У меня есть клиент-серверная программа, на стороне сервера:

sockListen = socket(PF_INET, SOCK_STREAM, 0);

socketListen всегда кажется равным 3. Почему? как насчет 0, 1 или 2? Каков диапазон значений сокетов в Linux?

Ответы [ 2 ]

11 голосов
/ 19 ноября 2009

0, 1 и 2 - это stdin, stdout и stderr соответственно. 3 следующий доступный. Если вы создали другой файл или открыли файл и т. Д., Он получит 4. И т. Д. И т.

Но вы не должны полагаться на это вообще. Код вашего приложения для обработки целых чисел как непрозрачных объектов. Только сравнивайте их со значениями, чтобы увидеть, являются ли они отрицательными (указывает на ошибку).

6 голосов
/ 19 ноября 2009

Возвращаемое значение - дескриптор файла. Файловые дескрипторы 0, 1 и 2 уже открыты. (stdin, stdout и stderr соответственно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...