The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Binding port in FreeBSD"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Binding port in FreeBSD" 
Сообщение от drone Искать по авторуВ закладки(??) on 28-Мрт-05, 13:29  (MSK)
OS FreeBSD. Проблема следующая. Если забиндить порт (функция bind),
а потом некорректно завершить приложение, то при последующих
попытках открыть этот порт происходит ошибка, мол, порт уже занят.

Как с этим боротться?

Заранее спасибо.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Binding port in FreeBSD" 
Сообщение от Alexander S. Salieff emailИскать по авторуВ закладки on 28-Мрт-05, 17:33  (MSK)
>OS FreeBSD. Проблема следующая. Если забиндить порт (функция bind),
>а потом некорректно завершить приложение, то при последующих
>попытках открыть этот порт происходит ошибка, мол, порт уже занят.
>
>Как с этим боротться?
>
>Заранее спасибо.

Лечится это дело вот такой операцией перед bind'ом :
int ss_n=1;
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&ss_n, sizeof(ss_n));

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Binding port in FreeBSD" 
Сообщение от PoizOn emailИскать по авторуВ закладки(ok) on 29-Мрт-05, 10:13  (MSK)
>>OS FreeBSD. Проблема следующая. Если забиндить порт (функция bind),
>>а потом некорректно завершить приложение, то при последующих
>>попытках открыть этот порт происходит ошибка, мол, порт уже занят.
>>
>>Как с этим боротться?
>>
>>Заранее спасибо.
>
>Лечится это дело вот такой операцией перед bind'ом :
> int ss_n=1;
> setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&ss_n, sizeof(ss_n));
А нельзя ли пояснить код?
А то у меня такая же проблема на Perl.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Binding port in FreeBSD" 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 29-Мрт-05, 10:27  (MSK)
>>>OS FreeBSD. Проблема следующая. Если забиндить порт (функция bind),
>>>а потом некорректно завершить приложение, то при последующих
>>>попытках открыть этот порт происходит ошибка, мол, порт уже занят.
>>>
>>>Как с этим боротться?
>>>
>>>Заранее спасибо.
>>
>>Лечится это дело вот такой операцией перед bind'ом :
>> int ss_n=1;
>> setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&ss_n, sizeof(ss_n));
>А нельзя ли пояснить код?
>А то у меня такая же проблема на Perl.
это
man 7 socket
вообщем читайте маны - они рулят ;-)

SO_REUSEADDR
              Indicates  that  the rules used in validating addresses supplied
              in a bind(2) call should allow reuse  of  local  addresses.  For
              PF_INET  sockets  this means that a socket may bind, except when
              there is an active listening socket bound to the  address.  When
              the listening socket is bound to INADDR_ANY with a specific port
              then it is not possible to bind  to  this  port  for  any  local
              address.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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