Интернет магазин китайских планшетных компьютеров



Компьютеры - Сокеты Беркли - Дополнительные параметры для сокетов

23 января 2011


Оглавление:
1. Сокеты Беркли
2. Интерфейс сокета Беркли
3. Заголовочные файлы
4. Функции
5. Дополнительные параметры для сокетов
6. Передача данных
7. Пример клиента и сервера, использующих TCP
8. Пример клиента и сервера, использующие UDP



После создания сокета можно задавать для него дополнительные параметры. Вот некоторые из них:

  • TCP_NODELAY отключает алгоритм Нэгла.
  • SO_KEEPALIVE включает периодические проверки на наличие 'признаков жизни', если это поддерживается ОС.

Блокирующие и неблокирующие сокеты

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

Сокет обычно указывается блокирующим или неблокирующим при помощи функций fcntl или ioctl.



Просмотров: 8613


<<< Расширение X video
Список Java API >>>