
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.02.2007, 18:57
|
|||
|---|---|---|---|
Как правильно закрывать сокет? Linux |
|||
|
#18+
Закрываю сокет функцией close(sock), если потом снова его открываю то bind выдает ошибку "addres is allready in use" в инете нашел что перед close(sock) вызывать функцию shutdown(sock, SHUT_RDWR), но это почему-то не помогает, результат такой-же. Подскажите пожалуйста, как правильно закрыть сокет, чтобы при повторном открытии bind не приводил к ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.02.2007, 19:58
|
|||
|---|---|---|---|
Как правильно закрывать сокет? Linux |
|||
|
#18+
Дай сокету отдохнуть.... 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.02.2007, 10:43
|
|||
|---|---|---|---|
Как правильно закрывать сокет? Linux |
|||
|
#18+
Sandro_KЗакрываю сокет функцией close(sock), если потом снова его открываю то bind выдает ошибку "addres is allready in use" в инете нашел что перед close(sock) вызывать функцию shutdown(sock, SHUT_RDWR), но это почему-то не помогает, результат такой-же. Подскажите пожалуйста, как правильно закрыть сокет, чтобы при повторном открытии bind не приводил к ошибке Самый простой и действенный способ: Запиши и прочитай 0 байт из( в) сокет перед закрытием. Или смотри на keepalive параметры, что бы установить время необходимое для отдыха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2029386]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 331ms |

| 0 / 0 |
