Сколько один winsock может теоритически держать соединений?
Как определить что пользователь отвалился от интернета?
Почти никак - ведь сетевой трафик не гоняется...Как влияет?
If tcpServer(Index).State <> 7 Then tcpServer(Index).Close
TiG писал(а):2 tyomitch: Winsock_Close лови
Хде и как его ловить?
Private Sub tcpServer_Close(Index As Integer)
MsgBox "Ну ёлки-палки! Клиент отпал!"
tcpServer(Index).Close
End Sub
Вот это как раз и есть извращатьсяtyomitch писал(а):TiG, извращаться не надо: достаточно каждые N секунд слать "пинги" клиентам. Тогда о выдернутом проводе ты узнаешь немедленно.
А если в ответ придет "А если туда гранату бросить", то срочно Unload WinSock(Index)alibek писал(а):Под пингом tyomitch имел ввиду не ICMP-пакеты.
Просто отправлять сокету команду "ау?" и ловить в ответ "я тут".
alibek писал(а):Под пингом tyomitch имел ввиду не ICMP-пакеты.
Просто отправлять сокету команду "ау?" и ловить в ответ "я тут".
Winsock.SendData "ау?"
TiG писал(а):Теоритически он медленее и глючнее, но другого выбора у меня нет?
TiG писал(а):Ндя.... чего-то я не знаю, и сделав кое-что трудоемкое получил нехорошее явление(((
Данные от клиентов, даже если с интервалом большим, поочередно слать, то они перемешиваются((( Не пойму почему.
obmen(ses).GetData priem
Text1.Text = priem
If priem = "0" Then obmen(ses).SendData priem
If priem = "0" Then Check1(ses).Value = 0
If priem = "0" Then Text2(ses).Text = 2
If priem = "0" Then Text3(ses).Text = 3
If priem = "1" Then obmen(ses).SendData priem
If priem = "1" Then Check1(ses).Value = 1
If priem = "1" Then Text2(ses).Text = 2
If priem = "1" Then Text3(ses).Text = 3
If priem = "6" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "6" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "7" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "7" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "8" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "8" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "9" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "9" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "10" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "10" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "11" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "11" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "12" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "12" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "13" And Text3(ses).Text > 0 Then obmen(ses).SendData priem
If priem = "13" And Text3(ses).Text > 0 Then Text3(ses).Text = Text3(ses).Text - 1
If priem = "skorost" Then Timer3(ses).Enabled = True
If priem = "manevr" Then Timer4(ses).Enabled = True
If priem = "player" Then Timer7.Enabled = True
If priem <> "0" And priem <> "player" And priem <> "1" And priem <> "2" And priem <> "3" And priem <> "4" And priem <> "5" And priem <> "6" And priem <> "7" And priem <> "8" And priem <> "9" And priem <> "10" And priem <> "11" And priem <> "12" And priem <> "13" And priem <> "14" And priem <> "skorost" And priem <> "manevr" Then Timer1(ses).Enabled = True
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 80