免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2694 | 回复: 1
打印 上一主题 下一主题

shutdown 与\n的区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-30 18:03 |只看该作者 |倒序浏览
本帖最后由 qxt912 于 2014-09-30 18:08 编辑

在仙子的系统监控程序中,曾经引用了$sock->shutdown(1) ,并说如果没有这个client会阻塞,我实验了一下,
客户端
  1. #!/usr/bin/perl
  2. use strict;
  3. use IO::Socket;

  4. my $sock = IO::Socket::INET->new(PeerAddr=>"172.10.0.13",
  5.                                                                 PeerPort=>8888,
  6.                                                                 Proto=>'tcp'
  7.                                                                 ) or die("cannot difined sock,$!");
  8. print $sock "nihao\n";

  9. close $sock;
复制代码
服务器端:

  1. #!/usr/bin/perl
  2. use strict;
  3. use IO::Socket;

  4. my $listen_socket = IO::Socket::INET->new(
  5.          LocalAddr => "172.10.0.13",
  6.          LocalPort => 8888,
  7.          Listen => 5,
  8.          Proto => 'tcp',
  9.          Reuse => 1
  10. );
  11. die "cant create socket$@\n" unless defined $listen_socket;

  12. while(1){
  13. next unless my $sock = $listen_socket->accept;
  14. my $m = <$sock>;
  15. print $m;
  16. close $sock;
  17. }

复制代码
这里没有使用$sock->shutdown(1),而是使用了\n,也可以顺利实现传输,那么$sock->shutdown(1)与\n的区别是什么?

论坛徽章:
0
2 [报告]
发表于 2014-10-02 12:30 |只看该作者
最开始提到的是阻塞 后面又提到顺利传输好晕 不知道到底要表达什么意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP