1 Pluspunkt 0 Minuspunkte

Ich habe dieses Script um eine TCP Verbindung mit einem Server aufzubauen.

$SourcePort = Get-Random -Minimum 48086 -Maximum 53042
$Endpoint   = New-Object System.Net.IPEndpoint ([ipaddress]::any,$SourcePort) 
$TcpClient  = [Net.Sockets.TCPClient]$Endpoint
do{
    try   { 
        $TcpClient.Connect("localhost",9005) 
        # Daten an den Server senden
    } 
    catch { Sleep 1 }
} while (-not $TcpClient.Connected)

Wie kann ich aber Daten wie z.B einen String senden?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Mit TcpClient.GetStream() bekommst du den Datenstream zum Server und kannst etwas senden..

if ($TcpClient.Connected) {

    # String zum Senden
    $message = "Hello, server! This is a test message."

    # String in Bytes konvertieren
    $data = [System.Text.Encoding]::UTF8.GetBytes($message)

    # Stream vom TcpClient abrufen und Daten senden
    $stream = $TcpClient.GetStream()
    $stream.Write($data, 0, $data.Length)

}
von (716 Punkte)