Thread filehandle an thread übergeben (20 answers)
Opened by Froschpopo at 2005-04-08 21:38

Froschpopo
 2005-04-08 21:38
#53645 #53645
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich habe folgendes Problem:

ich habe eine Socketverbindung zu einem Server. Solange der Server läuft, muss also mein Client auch auf Nachrichten vom Server warten.
Da das Hauptprogramm ungestört weiterlaufen soll, möchte ich die Socketverbindung in einem Thread abhören.

Leider klappt das nicht so ganz, das Programm wartet solang bis der Server die Verbindung trennt. Was mache ich denn falsch?

In etwa so:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

use IO::Socket;
use threads;
use threads::shared;

my $socket = IO::Socket::INET->new (
PeerAddr => '127.0.0.1',
Type => SOCK_STREAM,
PeerPort => 2005,
Proto=>"tcp"
);

my $t = threads->create( \&start_socket, <$socket> );

sub start_socket {
# hier Socketverbindung bearbeiten....
}

print "Elternprozess arbeitez ungestört weiter\n";

View full thread filehandle an thread übergeben