- 论坛徽章:
- 0
|
server端:
- #!/usr/bin/perl
- use strict;
- use IO::Socket;
- my $port = '3000';
- my $sock = IO::Socket::INET->new(
- Listen => SOMAXCONN,
- LocalPort => $port,
- Timeout => 60,
- Reuse => 1,
- Proto => 'tcp') or die "Create Server ERROR:$!\n";
- warn "Starting server on port $port...\n";
- while(1){
- next unless my $session = $sock->accept;
- defined (my $pid = fork()) or die "can't fork\n";
- if($pid == 0){
- $sock->close;
- $session->autoflush(1);
- my $line = <$session>;
- print "$line\n";
-
- print $session "Nice to meet you,too!\n";
- close $session;
- exit 0;
- }else{
- print "Forking child $pid\n";
- }
- }
- close $sock;
复制代码
client端:
- #!/usr/bin/perl
- use strict;
- use IO::Socket;
- my $addr = '127.0.0.1';
- my $port = '3000';
- my $buf;
- my $sock = IO::Socket::INET->new(
- PeerAddr =>$addr,
- PeerPort =>$port,
- Proto => 'tcp') or die "Can't connect: $!\n";
- print $sock "Nice to meet you!\n";
- $buf = <$sock>;
- print "$buf\n";
- close $sock;
复制代码
1.server首先建立监听
2.启动client向server发送个"Nice to meet you!"消息
3.server受到后向client回复个"Nice to meet you,too!"消息
但没有实现,
现在server窗口里有:Starting server on port 3000...
并且收到client发来的"Nice to meet you!"
可为什么client窗口里没有任何返回呢,应该有"Nice to meet you,too!"呀.
大家帮我看看哪写错了,多谢.
[ 本帖最后由 wsliuhao 于 2007-6-21 08:57 编辑 ] |
|