#!/usr/bin/perl -w #TCP_Server.pl #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 ($socket,$connection,$data); my($peeradr,$peerport); #bekomme server-ip und server-port von Kommandozeilenparamter my $ipAddress = $ARGV[0]; #erster Paramenter wird in $ipAddress eingespeichert my $NPort = $ARGV[1]; #zweiter Paramenter wird in $NPort eingespeichert $socket = new IO::Socket::INET( LocalHost => $ipAddress, #LocalHost von $socket ist eingegebener Paramenter $ipAddress LocalPort => $NPort, #LocalPort von $socket ist eingegebener Paramenter $NPort Proto => 'tcp', #Transportprotokoll: TCP Listen => 5, #maximale Anzahl von Client's ist 5 Reuse => 1 ); die "Fehler beim erstellen des Socket's: $! \n" unless $socket; #Hauptschleife while (1) { print "Warte auf Verbindung mit Client ..\n"; $connection = $socket->accept(); #Warte auf Verbindung zum Client / Akzeptiere eingehende Client Verbindung $peeradr = $connection -> peerhost(); #definiere IP-Adresse von Client $peerport = $connection -> peerport(); print "Verbindung mit client: $peeradr:$peerport\n"; #Lies bis zu 1024 Bytes vom verbundenen Client $data = ""; $connection->recv($data, 1024); print "Empfangene Daten: $data\n"; #Schreibe Antwort zu verbundenen Client print "Antwort:\n"; $data = ; $connection->send($data); #Informiere Client das Antwort gesendet wurde shutdown($connection, 1); } #Schließe Socket -> schliesse Verbindung zum Client $socket->close();