powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как правильно закрывать сокет? Linux
4 сообщений из 4, страница 1 из 1
Как правильно закрывать сокет? Linux
    #34351136
Sandro_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закрываю сокет функцией close(sock),
если потом снова его открываю то bind выдает ошибку "addres is allready in use"
в инете нашел что перед close(sock) вызывать функцию shutdown(sock, SHUT_RDWR),
но это почему-то не помогает, результат такой-же.

Подскажите пожалуйста, как правильно закрыть сокет, чтобы при повторном открытии bind не приводил к ошибке
...
Рейтинг: 0 / 0
Как правильно закрывать сокет? Linux
    #34351248
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дай сокету отдохнуть....
man ip A TCP local socket address that has been bound is unavailable for some
time after closing, unless the SO_REUSEADDR flag has been set. Care
should be taken when using this flag as it makes TCP less reliable.
...
Рейтинг: 0 / 0
Как правильно закрывать сокет? Linux
    #34351673
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandro_KЗакрываю сокет функцией close(sock),
если потом снова его открываю то bind выдает ошибку "addres is allready in use"
в инете нашел что перед close(sock) вызывать функцию shutdown(sock, SHUT_RDWR),
но это почему-то не помогает, результат такой-же.

Подскажите пожалуйста, как правильно закрыть сокет, чтобы при повторном открытии bind не приводил к ошибке

Самый простой и действенный способ:

Запиши и прочитай 0 байт из( в) сокет перед закрытием.

Или смотри на keepalive параметры, что бы установить время необходимое для отдыха.
...
Рейтинг: 0 / 0
Как правильно закрывать сокет? Linux
    #34351871
Lexogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно использовать опцию SO_REUSEADDR (если это серверный сокет).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как правильно закрывать сокет? Linux
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]