Kammen van, Marco, Springer SBM NL wrote:
>  
>>> From: Peter Scott [mailto:[EMAIL PROTECTED] 
>>> Subject: Re: Reading from multiple sockets.
> 
>> On Tue, 21 Oct 2008 12:53:53 +0200, Kammen van, Marco, Springer SBM
NL
>> wrote:
>> I'm pretty new to working with sockets in perl, looked around for
days
>> for a proper solution for my IRC/DCC problem but couldn't find one.

>>>Yeah I was planning to add another Perl programming book to my
list....
>>>Thanks for all hints so far... 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.....

Never mind... I think i fixed it....
Dunno if its the proper way but hey it works!!!!!!!!! 

$con = IO::Socket::INET->new(PeerAddr=>"$server",
                             PeerPort=>"$port",
                             Proto=>'tcp',
                             Timeout=>'30') || print "Error! $!\n";
$select = IO::Select->new();
$select->add($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;
      # Stufff
      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->add($dcc);
      }
    } else {
      print "Dunno?\n";
      exit 1;
    }
  }
}




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to