Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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

Не известно зачем, но Winsock действительно некоторое время держит открытыми порты на прослушку. Поэтому в событии Request_Connect необходимо проверять состояние сокета, и, конечно, при необходимости, его закрывать. То есть: If имя_твоего_сокета.State <> sckClosed Then имя_твоего_сокета.Close '-- и Разрешить подключение End If

Ответить

Номер ответа: 2
Автор ответа:
 AntNZ



Вопросов: 3
Ответов: 4
 Профиль | | #2 Добавлено: 22.01.03 12:59
Так прикол в том, что у меня на OnTimer стоит процедура проверки и отображения состояния сокета в приложении. И показывается состояние Closed, в то время как при просмотре в ком. строке через netstat висит подключение в состоянии TIME-WAIT. И никакие манипуляции с состоянием сокета результата не дают

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам