Dim GotByte As Boolean Dim PingByte As String Dim PingPacket As Datagram Dim s As String Dim SoldatPacket As Datagram UDPSocket2 - Sub DataAvailable() SoldatPacket = UDPSocket2.Read SoldatPacket.Address = "127.0.0.1" SoldatPacket.Port = 23073 UDPSocket1.Write(SoldatPacket) s = SoldatPacket.Data If Asc(Left(s, 1)) = 30 And GotByte = True Then PingPacket.Data.Split.Append(PingByte) PingPacket.Data.Split.Append(s.Right(1)) PingPacket.Address = ServerField.Text PingPacket.Port = PortField.Text.Val UDPSocket2.Write(PingPacket) End If UDPSocket1 - Sub DataAvailable() SoldatPacket = UDPSocket1.Read SoldatPacket.Address = ServerField.Text SoldatPacket.Port = PortField.Text.Val s = SoldatPacket.Data If Asc(Left(s, 1)) = 31 And GotByte = False Then PingByte = Str(SoldatPacket.Data.Left(1)) UDPSocket2.Write(SoldatPacket) GotByte = True End If If Asc(Left(s, 1)) <> 31 Then UDPSocket2.Write(SoldatPacket) End If Timer1 - Sub Action() UDPSocket1.Poll() UDPSocket2.Poll()