The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

UDP bind (socket)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: socket,  (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _ From : Eugene Crosser 2:5020/400 10 Aug 99 01:43:44 Subj : UDP bind Referat : bind udp socket ________________________________________________________________________________ From: crosser@average.org (Eugene Crosser) In article <7ok1dt$18n$1@ddt.demos.su>, "Maxim A.Shemanaryov" <max@mera.ru> writes: > Открываю UDP-сокет и хочу в него послать датаграмму. Сокет работает > только на передачу. > Вопрос: Обязательно в _данном_случае_ ли делать bind? > В Linux-e работает так: Если bind не делать, то на другом конце > я получаю датаграмму с первым свободным номером порта, то есть, > такое впечатление, что система сама назначает порт для посылки > (как в TCP). В книжках везде рисуют один и тот же алгоритм с bind. > Если же его делать, то это неудобно - второй экземпляр > приложения с тем_же_самым портом говорит Can't bind socket > (что и понятно). Итак, обязательно ли для отсылки (и только для отсылки) > делать bind? Hасколько это переносимо в пределах Unix? В манах (например, Солярисных) написано что все так и есть: если bind не сделан, то локальный порт будет назначен системой, причем независимо от протокола (tcp/udp/...). Hа самом деле это правда для IP протоколов, и *неправда* для unix domain sockets. То есть через незаbindеный unix domain послать датаграмму тоже можно, то при этом локальный адрес (в данном случае имя) назначено *не* будет. То есть когда на том конце возьмут адрес отправителя из recvfrom(), по этому адресу отправлять ответ бесполезно, там мусор. А для UDP документированное поведение действительно работает, то есть можно не делать bind() перед sendto(). Eugene --- ifmail v.2.14dev3 * Origin: Average (2:5020/400)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру