Классическим примером клиентской программы, использующей bind()
, является (устаревшее) rlogin
/ rsh
семейство сетевых клиентов. Эти клиенты предназначались для использования в сетях с сильными доверительными отношениями - в некоторых случаях серверный сервер доверяет клиентскому компьютеру сообщать ему имя пользователя подключающегося пользователя. Для этого требовалось, чтобы клиентская программа соединялась с низким портом (порт менее 1024), поскольку такие порты ограничены для пользователя root
и, таким образом (теоретически) доказывают, что используемый клиент авторизован системным администратором. 1005 *
Протокол NFS имеет аналогичные доверительные отношения, и аналогично клиент устанавливает соединения с небольшим номером порта, используя bind()
.
Другим примером являются клиенты IRC, которые позволяют пользователю указать IP-адрес определенного источника для подключения. Это делается для размещения пользователей с множеством IP-адресов, назначенных их компьютеру, каждому из которых присваивается отдельное доменное имя «тщеславия». Выбор IP-адреса для подключения (с помощью bind()
) позволяет пользователю выбрать, какое доменное имя будет отображаться в IRC.