Re: [問題]請教各位server的問題
※ 引述《albertliao (~咖啡癮君子~)》之銘言:
: 各位好小弟目前使用socket遇到一個問題 , 以下是我的程式碼,
: 可以看得來我目前只有要接收 client的msg , 但每次從client接收到的msg都是空的,而且之後
: 就一直執行不斷的印出recv :變成無線迴圈(select變成沒有作用!!) , 請教各位我目前是要不斷接收
: 來自client的訊息而已, 請問是不是哪有寫錯要注意的地方
: 謝謝
: $Socket = new IO::Socket::INET->new(LocalAddr => 'localhost',
: LocalPort => 111,
: Listen => SOMAXCONN,
: Proto => 'tcp',
: Reuse => 1
: ) or die "Can't bind : $@\n";
: $s = new IO::Select($Socket);
: $i=1;
: while($i)
: {
: if( $s->can_read )
: {
: $Socket->recv($text,512);
: print "recv : $text\n";
: # $i=0;
: }
: }
感謝各位熱心的協助 , 目前server問題已解決 , 但我仍然無法使用select
去限定在某個時間內未收到msg就斷線 , 程式如下 , 請各位指點
感謝大家
while( $client=$Socket->accept() )
{
print "Accepting connection from ", $client->peerhost(), ".\n";
print $client "Welcome it from Ix_Agent\n";
#$t1 = threads->create(\&fun_recv);
$s = new IO::Select($client);
$i=1;
$timeout=5;
while($i)
{
if($s->can_read($timeout)) #這行似乎無效果
{
while ( $_ = <$client> )
{
chomp;
print "\tClient request: $_\n";
}
}
else
{$i=0; print "error occur\n";}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.82.195
推
06/24 22:47, , 1F
06/24 22:47, 1F
推
06/24 22:47, , 2F
06/24 22:47, 2F
→
06/25 09:55, , 3F
06/25 09:55, 3F
推
06/25 19:01, , 4F
06/25 19:01, 4F
推
06/25 19:01, , 5F
06/25 19:01, 5F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章