作者albertliao (~咖啡瘾君子~)
看板Perl
标题[问题]请教各位server的问题
时间Wed Jun 24 15:56:55 2009
各位好小弟目前使用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;
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.82.195
1F:推 LiloHuang:你没有做 accept 的动作.. 你要产生一个新的 sock fd 06/24 16:01
2F:推 LiloHuang:对於server socket而言 你不能去用recv 你要先accept 06/24 16:02
3F:推 LiloHuang:然後把accept後的sock放入select里面, 等待有资料再读取 06/24 16:12