Perl Socket CRLF

来源:互联网 发布:标签条码打印软件 编辑:程序博客网 时间:2024/06/03 21:37

找一个简单的Perl Socket程序,如下Server程序,运行它

    while(<CLIENT>){
        chomp;
        print "Message From Client: $_/n";
        print CLIENT $_;
    }

你将发现,server端程序无法发送信息到client,程序阻塞无法继续运行。

解决方法:
use Socket qw(:DEFAULT :crlf);
......

    while(<CLIENT>){
        chomp;
        print "Message From Client: $_/n";
        $_ .= CRLF;
        print CLIENT $_;
    }

原因:
一切都是CRLF,不同系统使用不同的换行符引起的