第五页 现在开始广播 |
要想将“回音”改进为交谈服务器,你所要做的仅仅是把消息传向每个用户,而不是留下自己享用。我们可以通过$select返回所有接口,这些接口是由 new( )和add( )传给$select的。这样我们就能找出需要发给信息的那些用户了。所以我们对程序做了以下改动: $socket->recv($line,80); if($line eq 摂?/FONT>) { print $socket->fileno . ?/FONT>: disconnected\n?/FONT>; $select->remove($socket); $socket->close; }; my $socket; #broadcast to everyone.Close connections where send( ) fails. for $socket($select->handles) { next if($socket==$listen); $socket->send($line) or do { print $socket->fileno. ?/FONT>:disconnected\n?/FONT>; $select->remove($socket); $socket->close; }; } 这是为进行交谈所编写的全部代码。 Page
1: How to Write a Chat Server Brian Slesinsky is a former HotWired engineer. He left the company to work full-time on his death ray. |