Dobrý den, mám funkční program pro TCP client/server připojení a posílání dat. potýkám se s vlastní neznalostí jedné věci. Nejde mi po ukončení spojení funkcí Close() úspěšně znovu spojení vytvořit. Hlásí mi to exception, že mySocket již existuje. Nerozumím tomu, kdy se ukončují jednotlivé procesy jako mySocket.Disconnect(True) a serverListener.Stop(), případně kdy použít mySocket.Dispose() tak, aby se po volání OpenPort() mohl připojit pendlujícího klienta. Funkci ConnectionAccept() (v Class myTCPListener) volám funkcí ve Formuláři hned po volání OpenPort(). poradíte mi, kde bych si o tom mohl něco přečíst? Na foru jsem strukturovaný popis nenašel. Předem děkuji za radu a pomoc! PH 1) FormTCP.Show() 2) Public Class FormTCP 2a) IPadresa = myIP, Port = myPort 2b) Public PortInListener As New myTCPListener()
Public Class myTCPListener
Public localAddr As IPAddress = IPAddress.Parse(IPadresa)
Public serverListener As New TcpListener(localAddr, Port)
Public mySocket As Socket
Public Sub OpenPort()
serverListener.Start()
End Sub
Public Sub ConnectionAccept()
Try
While serverListener.Pending = False
Application.DoEvents()
End While
mySocket = serverListener.AcceptSocket()
Catch ex As Exception
serverListener.Stop()
End Try
End Sub
Public Sub Close()
serverListener.Stop()
mySocket.Disconnect(True)
End Sub
|