+ -
当前位置:首页 → 问答吧 → 关于使用<socket>方式来读取tcp socket的疑问?

关于使用<socket>方式来读取tcp socket的疑问?

时间:2010-10-16

来源:互联网

  1. my ($host,$port,$sock,$answer,$localip,$s);
  2. $host = 'test.cc.com';
  3. $port =  7890;
  4. $sock = new IO::Socket::INET(
  5.                    PeerAddr => $host,
  6.                    PeerPort => $port,
  7.                    Proto    => 'tcp',
  8.                    Timeout  => 1)or die $@;
  9. print $sock "test\n";
  10. $answer=<$sock>;
  11. close $sock;
复制代码
代码如上,看了书上说tcp 连接的socket可以用操作文件的方式来读取,现在有一点疑问,如果我发了消息到对方,对方没有给我回复任何消息,也没有断开连接,这样操作的结果会是什么呢?
我知道如果是用recv方式的话,如果不作特殊处理会一直blocking在那里等待接收数据.
还请各位大大指点一下啊

作者: lth0721   发布时间: 2010-10-16

一直阻塞

作者: flw   发布时间: 2010-10-16

回复 flw
多谢flw的回复,
还有一个问题,在上面的这种情况下,是不是只有服务器端主动关闭了连接,阻塞才会退出呢?

作者: lth0721   发布时间: 2010-10-16