Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
closesocket under Redhat 10.06.02 17:26
Автор: PS <PS> Статус: Elderman Отредактировано 11.06.02 12:56 Количество правок: 1
|
Под nix существует closesocket() ?
Почему то такой ф-ии не нашел. Нет ни в man, ни в библиотеках.
Если её нет, то как закрыть сокет ? Пробовал shutdown и close - не вышло. Следующий bind говорит, что сокет уже прибайнден.
|
|
closesocket under Redhat 11.06.02 14:45
Автор: cb <cb> Статус: Member
|
> Под nix существует closesocket() ? > Почему то такой ф-ии не нашел. Нет ни в man, ни в > библиотеках. > Если её нет, то как закрыть сокет ? Пробовал shutdown и > close - не вышло. Следующий bind говорит, что сокет уже > прибайнден.
насколько я знаю для закрытия сокета достаточно вызвать
close(socket)
проблема с bind к закрытию сокета имеет косвенное отношение:
по rfc закрытие tcp соединения происходит в несколько фаз, продолжительность этих фаз зависит от топологии сетки, посему после закрытия сокета tcp порт некоторое время считается занятым. для решения этой проблемы я пользовал
int state = 1;
::setsockopt(socket, SOL_SOCKET, SO_REUSEADDR, (const char*)&state, sizeof(int));
cb.
|
|
closesocket under Redhat 11.06.02 13:19
Автор: YURICH Статус: Незарегистрированный пользователь
|
> Под nix существует closesocket() ? > Почему то такой ф-ии не нашел. Нет ни в man, ни в > библиотеках. > Если её нет, то как закрыть сокет ? Пробовал shutdown и > close - не вышло. Следующий bind говорит, что сокет уже > прибайнден. fclose?
|
|
|