Home: Perl Programming Help: Advanced:
Using IO::Select in multi-client environment

New User

Feb 16, 2007, 9:00 AM

Views: 1061
Using IO::Select in multi-client environment

I am trying to use select call in multi-client model.
Here's what my code does.
# Create a socket
$sockSel = new IO::Select( $servSock );

while ( @ready = $sockSel->can_read )
foreach $fh ( @ready )
if ( $fh == $servSock )
$newConn = $servSock->accept();
{ # Process sockBuff

Now, when one client connects, my code blocks till the sockBuff from that client is processed. In the meantime, it cannot serve any other clients.
Is there a way around this? I want to serve the next client when the 1st client is getting processed. Can I avoid threads and still achieve this with select? Thanks