- 论坛徽章:
- 0
|
我做的Socket的两个简单的测试程序 客户端和服务器
问题就是:客户端只能接受一次服务器的信息,重新运行以后就无法收到了
问题原因是什么呢? 高手们帮我改下,优化一下程序吧
#!usr/bin/perl
#客户端
use IO::Handle;
use Socket;
$port=2001;
$host='10.0.0.191';
$packhost=inet_aton($host);
$address=sockaddr_in($port,$packhost);
socket(CLIENT,PF_INET,SOCK_STREAM,6);
connect(CLIENT,$address);
CLIENT->autoflush(1); #跳过I/O代码进入缓存的步骤,直接输出。
$msg_in=<CLIENT>;
print "INmsg_in\n";
close CLIENT;
exit 1;
.....................................................................................
#!usr/bin/perl
#服务端
use IO::Handle;
use Socket;
$port=2001;
$address=sockaddr_in($port,INADDR_ANY);
socket(SERVER,PF_INET,SOCK_STREAM,6);
bind(SERVER,$address);
listen(SERVER,10);
while(1){
next unless (accept(CLIENT,SERVER));
CLIENT->autoflush(1); #跳过I/O代码进入缓存的步骤,直接输出。
print CLIENT "WHAT DO YOU WANT?\n";
close CLIENT;}
close SERVER;
exit 1;
我想在他们里面加个sleep语句,应该怎么加呢? |
|