marcovk22 has asked for the wisdom of the Perl Monks concerning the following question:
I'm pretty new to working with sockets in perl, and this is my first post so be gentle :-D
Looked around for days for a proper solution for my IRC/DCC problem but couldn't find one.
The connection to the server uses a socket with a neverending while loop:
sub connection { # Make The Initial Server Connection! # $con = IO::Socket::INET->new(PeerAddr=>"$server", PeerPort=>"$port", Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; while($answer = <$con>) {
All works fine untill i want to make a DCC connection using another socket:
$dcc = IO::Socket::INET->new(PeerAddr=>"$2", PeerPort=>"$3", Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; print $dcc "Connection Established!\n"; while ($talk = <$dcc>) {
The first loop is being blocked?
I only receive input/output from the second loop untill this one is closed again, then the first loop continues....
How can i get a continuous flow from both?
I've read some bits about IO::Socket::Select, and have also been playing with multiple threads, but i prefer the first option...
Any help is very appreciated!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Reading from multiple sockets
by Fletch (Bishop) on Oct 21, 2008 at 13:45 UTC | |
|
Re: Reading from multiple sockets
by zentara (Cardinal) on Oct 21, 2008 at 12:19 UTC | |
by marcovk22 (Initiate) on Oct 23, 2008 at 11:30 UTC | |
by marcovk22 (Initiate) on Oct 23, 2008 at 12:33 UTC | |
by zentara (Cardinal) on Oct 23, 2008 at 13:36 UTC |