Страница: 1 |
Не известно зачем, но Winsock действительно некоторое время держит открытыми порты на прослушку. Поэтому в событии Request_Connect необходимо проверять состояние сокета, и, конечно, при необходимости, его закрывать. То есть: If имя_твоего_сокета.State <> sckClosed Then имя_твоего_сокета.Close '-- и Разрешить подключение End If Страница: 1 |
Вопрос: Поведение Winsock
Добавлено: 21.01.03 10:12
Автор вопроса: AntNZ
В общем, как полагается, есть сервер и клиент и один коннектится к другому. Все работает, данные передаются, благополучно рассоединяемся. И при попытке повторного соединения на клиенте выдается ошибка "Address in use". Я посмотрел в активных подключениях клиента (команда netstat в ком. строке Windows), а там висит соединение с тем самым адресом-портом сервера в состоянии TIME-WAIT. А на сервере подключений никаких, ждет соединения. Через минуту-две на клиенте подключение исчезает и можно заново подсоединяться. Чего это за ерунда, может кто сталкивался?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 21.01.03 10:21
Номер ответа: 2
Автор ответа:
AntNZ
Вопросов: 3
Ответов: 4
Профиль | | #2
Добавлено: 22.01.03 12:59
Так прикол в том, что у меня на OnTimer стоит процедура проверки и отображения состояния сокета в приложении. И показывается состояние Closed, в то время как при просмотре в ком. строке через netstat висит подключение в состоянии TIME-WAIT. И никакие манипуляции с состоянием сокета результата не дают