in reply to Re: Reading from multiple sockets
in thread Reading from multiple sockets
I've got the following to work now using IO::Select
Properly send & receive to and from server.
I can esablish a DCC connection over additional socket, but then I only get the data from the DCC socket,
and no-longer the data from the server socket, untill the DCC socket is closed.....
$con = IO::Socket::INET->new(PeerAddr=>"$server", PeerPort=>"$port", Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; $select = IO::Select->new($con); while(@ready = $select->can_write) { for $socket (@ready) { #The DCC Connection if($socket == $dcc) { $talk = <$dcc>; print $talk; #The Server Connection } elsif ($socket == $con) { $answer = <$con>; print $answer; # echo everything that comes from the server t +o screen #lots of other stuff here if ($answer =~ /:(.*)\!.* PRIVMSG $me :\001DCC CHAT chat (\d+) ( +\d+)\001\r\n/) { print "Received dcc from $1 with $2 and $3\n"; $dcc = IO::Socket::INET->new(PeerAddr=>"$2", PeerPort=>"$3", Proto=>'tcp', Timeout=>'30') || print "Error! $ +!\n"; print $dcc "Please Enter Your Password!\n"; $select = IO::Select->new($dcc); } } else { print "more stuff to come here" } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Reading from multiple sockets
by marcovk22 (Initiate) on Oct 23, 2008 at 12:33 UTC | |
by zentara (Cardinal) on Oct 23, 2008 at 13:36 UTC |