2013-11-22 3 views
2

Это широкий вопрос:Что такое дескриптор файла/connection/socket/ip?

Как дескриптор файла, соединение, сокет, ip все связаны друг с другом?

Является файловым дескриптором только текстового файла? И поэтому, когда я подключаюсь к серверу, означает ли это, что сервер и мой компьютер в основном создают дескриптор файла, и мы общаемся посредством записи в файл?

Почему серверы имеют ограничение на дескрипторы файлов? Когда сервер открывает слишком много подключений, он может выйти из строя с ошибкой: слишком много файлов открывается. Это связано с тем, что при каждом подключении сервер открывает новый текстовый файл?

ответ

6

IP-адрес - это номер, который идентифицирует машину в сети. Таким образом, вы можете сказать «отправьте эти данные на IP x.x.x.x», и сеть знает, какой из них является конечной машиной. Существует несколько способов назначения IP-адресов машинам.

Соединение является концептуальной связью между двумя машинами. Это концептуально, потому что нет необходимости, чтобы машины были напрямую подключены друг к другу или что-то еще: они связаны «через сеть».

Гнездо представляет собой интерфейс программирования, который позволяет программисту управлять соединениями, так что программист может:

  • Создать (открыть) новое подключение к другой машине
  • Прослушивать входящие соединения от других машин
  • данные, полученные прочитанной через connectino
  • Запись данных через соединение
  • Отбросить (близко) соединение

Дескриптор файла - это элемент (обычно это число), который позволяет программисту идентифицировать «поток» данных: файлы на диске, сокеты, каналы, именованные каналы ... в основном все, что вы можете читать/писать байты в последовательном порядке. Они называются файлами дескрипторами, потому что изначально они идентифицировали только файлы.

Смежные вопросы