Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Winsock.SEND Вопрос о внезапном уходе клиента от сервера / 2 сообщений из 2, страница 1 из 1
22.12.2012, 16:45
    #38089169
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Winsock.SEND Вопрос о внезапном уходе клиента от сервера
Подскажите пожалуйста. Работаю с винсок и по UDP и по TCP.
Точно знаю что UDP не боится если вдруг не станет интернета или других мелких ошибок
Вопрос о TCP. Длительное времья работаю и как бы нет никаких проблем.
Но хочу знать. Буфер в TCP должен (на сколько я себе так представляю) накапливаться, так как TCP является лучшим гарантом доставки пакетов чем UDP. К примеру соединяюсь
Код: vbnet
1.
2.
3.
4.
Private Sub WSock_ConnectionRequest(ByVal RequestID As Long) '*
   If WSock.State <> 0 Then WSock.Close
   WSock.Accept RequestID
End Sub


Все четко!
Если ушел, у меня сразу срабатывает
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub WSock_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  Call WSock_Close
End Sub
Private Sub WSock_Close()
  Do
    WSock.Close
    DoEvents
  Loop Until WSock.State = 0
  WSock.Listen
End Sub



Отправляю из сервера информацию так:
Код: vbnet
1.
2.
3.
Public Sub WsockSend(Txt As String)
  If WSock.State = 7 Then WSock.SendData Txt & "<***>" 'Розділовий знак <***> що означає розрив між командами
End Sub




Чучуть ознакомил. Теперь к делу. Музыкальный аппарат. Сделал с него +сервер. Клиенская часть всегда готова задавать серверу вопросы. Но процедура WsockSend работает постоянно внезависимости подключен клиент или еще нет. Условие "If WSock.State = 7 Then" работает безотказно.

Сегодня я много програмного текста добавил, а именно я заставляю его отчетываться о каждом действии. Пакетов не много, но если учесть что клиент будет нажимать клавишу, удерживать, а она залипает и делает Loop нажатий, то в посилке будет Loop коротких сообщений. Все это сначало проходит наверное через какой то буфер. И вот если будет хандрить местами интернет сработает ли WSock_Error ?? Мне ж не нужно чтоб аппарат заглючил в нужный момент. WSock_Error спасает ?

с уважением Андрей
...
Рейтинг: 0 / 0
13.01.2013, 05:31
    #38108091
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Winsock.SEND Вопрос о внезапном уходе клиента от сервера
TCP порт отлично с этим справляется)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Winsock.SEND Вопрос о внезапном уходе клиента от сервера / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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