#!/usr/bin/perl -w #TCP-Client #Hartych, Tobias EIT 4056051 #Dreißig, Tobias EIT 40????? use strict; #strict macht debugging einfacher use IO::Socket::INET; #nutze Modul IO::Socket::INET um einen neuen Socket zu erschaffen #auto-flush $| = 1; #Variablen deklarieren my ($data,$end); #bekomme server-ip und server-port von Kommandozeilenparamter my $peeradr = '127.0.0.1'; #erster Paramenter wird in $PeerAdress eingespeichert my $peerport = '9999'; #zweiter Paramenter wird in $PeerPort eingespeichert my $socket = new IO::Socket::INET ( PeerHost => $peeradr, #PeerAddr von $socket ist eingegebener Paramenter $PeerAdress PeerPort => $peerport, #PeerPort von $socket ist eingegebener Paramenter $PeerPort Proto => 'tcp', #Transportprotokoll: TCP ); die "Fehler bei erstellen des Socket's: $!\n" unless $socket; print "\nVerbindung mit Server erfolgreich!\n"; #Hauptschleife while(1) { #Eingabe der Daten / string welcher zum Server gesendet wird print "Wenn Programm beendet werden soll dann bitte q eingeben: \n"; print "Bitte zuerst den Client und dann den Server beenden!\n"; print "Sende zum Server: \n"; $data = ; #Verzweigung zum Beenden $end=$data; chop($end); if($end eq 'q') { $socket->send('q'); close($socket); exit(); } #Eingabe der Daten my $size = $socket->send($data); print "sende Daten von einer Laenge von $size \n"; #Benachrichtige Server das Antwort gesendet wurde shutdown($socket, 1); #erhalte Antwort von bis 1024 Bytes von Server my $response = ""; $socket->recv($response, 1024); print "Erhaltene Antwort: $response \n"; } #Schließe Socket $socket -> close();