# Manually execute "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process"
# Name this file as Listen-TCP.ps1 param ( [int]$Port = 8080 # Default port is 8080, you can specify another port when running the script ) $gsock = { # Create a TCP listener on the specified port $listener = [System.Net.Sockets.TcpListener]$Port $listener.Start() Write-Host "Listening on port $Port..." try { while ($true) { # Accept a client connection $client = $listener.AcceptTcpClient() Write-Host "Client connected!" # Get the network stream for reading data $stream = $client.GetStream() # Set up a reader to read from the stream $reader = New-Object System.IO.StreamReader($stream) # Read the data from the stream while ($reader.Peek()) { $data = $reader.ReadLine() Write-Host "Received: $data" } # Close the client connection $reader.Close() $client.Close() } } catch { Write-Host "Error: $_" } finally { # Stop the listener when done $listener.Stop() Write-Host "Listener stopped." .$gsock } } &$gsock # .\Listen-TCP.ps1 -Port 9090