Thread Netzwerkproblem (2 answers)
Opened by J-jayz-Z at 2005-08-06 13:22

J-jayz-Z
 2005-08-06 13:22
#57007 #57007
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi, ich hab folgende Probleme mit Netzwerkprogrammierung:
Ich habe einen kleinen Server:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
while(!$quit) {
sub_routine();
next unless my $session = $socket->accept;
my $peer = gethostbyaddr($session->peeraddr,AF_INET) || $session->peerhost;
my $Port = $session->peerport;
while(<$session>) {
print $session $sub_eins . CRLF;
print $session $sub_zwei . CRLF;
}
close($session);
}
close $socket;

somit schickt der Server beide Variablen an den Client, aber nur, wenn der vorher auch wa geschickt hat, kann ich das auch irgendwie schreiben, das er sofort etwas schickt, ohne das der Client was schicken muss?
dann zum Client:
Code: (dl )
1
2
3
4
5
6
while(1) {
print $socket "hallo\n";
my $sub_eins = <$socket>;
my $sub_zwei = <$socket>;
my $output = "Erstens:\t$sub_eins\nZweitens:\t$sub_zwei";
}

Wenn ich über telnet etwas an das Socket schicke, wie hier hallo, bekomme ich beide Antworten vom Server. Und da würde ich gern jede in eine Variable schreiben. einmal die Variable $sub_eins, die der Server schickt und einmal $sub_zwei. Der macht das allerdings nicht. Ich rufe den Client mit ner GUI auf, es gibt keine Fehlermeldung und die GUI startet einfach nicht.
Für Hilfe wäre ich dankbar...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de

View full thread Netzwerkproblem