新手问题 perl socket 编程,如何读多行

新手问题 perl socket 编程,如何读多行

#! /usr/bin/perl

use IO::Socket;

$remote_host = "127.0.0.1";
$remote_port = "1234";
$socket = IO::Socket::INET->new(PeerAddr => $remote_host,
                                PeerPort => $remote_port,
                                Proto => "tcp",
                                Type => SOCK_STREAM)
            or die "Couldn't connect to $remote_host: $remote_port : $@\n";

$socket->autoflush(1);
while ( <$socket> ) {

    print "enter\n";

    if (/quit|exit/i) { last; }
    else
    { print $_; } # 此处只能输出一行,但实际数据有多行怎么读其余的行?
   
    print "over\n";

    while ( defined($input = <STDIN>) ) {
        print $socket "$input";
        last;
    }
}

close($socket);
偶觉得socket编程用java超级简单和傻瓜,没啥特殊前提我肯定用java socket
可以用sysread 和 syswrite 来读写..


QUOTE:
原帖由 ningzi98 于 2008-7-28 19:12 发表
可以用sysread 和 syswrite 来读写..

sysread 可以设置读取的长度。