Ich habe ein Script das einen TCP Listener startet und auf eine Textnachricht wartet.
$listener = [System.Net.Sockets.TcpListener]::Create(12345) # Hier 12345 durch den gewünschten Port ersetzen
$listener.Start()
Write-Host "TCP Listener gestartet. Warte auf Verbindung..."
$client = $listener.AcceptTcpClient()
$stream = $client.GetStream()
$reader = [System.IO.StreamReader]::new($stream)
$writer = [System.IO.StreamWriter]::new($stream)
$writer.WriteLine("Verbindung erfolgreich hergestellt. Willkommen!")
$message = $reader.ReadLine()
Write-Host "Nachricht vom Client: $message"
$reader.Close()
$writer.Close()
$stream.Close()
$client.Close()
$listener.Stop()
Es funktioniert auch, nur wird am Schluss ein Fehler ausgegeben.
TCP Listener gestartet. Warte auf Verbindung...
Nachricht vom Client: dd
Ausnahme beim Aufrufen von "Close" mit 0 Argument(en): "Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: "System.Net.Sockets.NetworkStream"."
In C:\Users\madm\desktop\listener.ps1:20 Zeichen:1
+ $writer.Close()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ObjectDisposedException
Wie kann ich das beheben?