winfo2105
Goto Top

String über Socket senden und empfangen funzt nicht

Hi,
und zwar hab ich mir 2 Scripte geschrieben das eine liegt auf den Server und das andere auf meinem Laptop. Ich möchte das ich über das Laptopscript mit infos über meinen Server ausgeben lassen kann. Bis jetzt ist nur "status" implementier, dieses soll mir nur sagen das script läuft.Aber irgendwie haut das mit dem send() und recv() eines strings nicht hin.
Vllt hat jemand von euch ne idee.
Das Serverseitige Script:
#!/usr/bin/perl -w

use strict;
use IO::Socket;

my $server_port = "11111";

my $server = IO::Socket::INET->new (LocalPort => $server_port,
Type => SOCK_STREAM,
Reuse => 1,
Listen => SOMAXCONN)
or die "Keine Verbindung an Port: $server_port möglich: $@\n";


while (defined(my $client = $server -> accept)){

my $status = "Script is online!";


my $empfang;
$server ->recv($empfang, 10000) or die "Konnte nicht empfangen: $!\n";

my $befehl = $empfang;

if($befehl eq 'status'){
$server ->send($status) or die "Konnte nicht senden: $!\n";
}
}
__________________
Und hier das Clientseitige Script:
#!/usr/bin/perl -w

use strict;
use IO::Socket;

my $inet_port = "11111";
my $inet_addr = "localhost";

my $client = IO::Socket::INET->new (PeerAddr => $inet_addr,
PeerPort => $inet_port,
Type => SOCK_STREAM)
or die "Keine Verbindung zu $inet_addr:$inet_port möglich: $!\n";


print ">";
my $eingabe = <>;
my $empfang;
chomp $eingabe;

if($eingabe eq 'status'){
$client -> send($eingabe) or die "Konnte nicht senden: $!\n";
$client -> recv($empfang, 10000) or die "Konnte nicht empfangen: $!\n";
print "$empfang";
}
else{
print "falsche eingabe";
}


Fürhilfe wär ich dankbar....

Gruß Winfo

Content-ID: 141793

Url: https://administrator.de/contentid/141793

Ausgedruckt am: 26.11.2024 um 02:11 Uhr