Hallo liebe Experten,
Ich habe folgendes Problem:
Ich programmiere momentan das WinsockControl von VB6 für das VB.NET Compact Framework 2.0 nach.
Dafür dimensioniere ich folgende Objekte:
Private TCP_Client As New System.Net.Sockets.TcpClient()
Private TCPListen As System.Net.Sockets.TcpListener
Private TCPListenInput As System.Net.Sockets.TcpClient
Private ServerStream As System.Net.Sockets.NetworkStream
Private ClientStream As System.Net.Sockets.NetworkStream
Der TCP_Client und der ClientStream ist für den fall das der Socket irgendwo hin verbinden soll und TCPListen, TCPListenInput und der ServerStream dafür, dass der Socket einen Port abhört.
Um die Sockets zu resetten wird folgendes ausgeführt:
TCP_Client.Close()
TCPListenInput.Close()
TCPListen.Stop()
Doch bei „TCPListenInput.Close()“ tritt eine „NullReferenceException“ auf. Wenn ich den Fehler mit „Try/Catch/End Try“ verschlucken lasse, tritt beim erneuten Verbinden,
TCP_Client.Connect(IPAddress, Port)
ClientStream = TCP_Client.GetStream()
bei „ClientStream = TCP_Client.GetStream()“ eine „ObjectDisposedException“ auf.
Ich vermute, das liegt daran das ich den Stream nicht geschlossen habe bevor ich neu verbunden habe.
Bei: „ClientStream.Close()“ und „ClientStream = Nothing“ tritt jedoch wieder der Fehler „NullReferenceException“.
Jetzt ist meine Frage wie ich den Stream schließen kann.
Schonmal Danke im Vorraus!