【发布时间】:2013-10-10 20:14:48
【问题描述】:
如何在server1、server2、server3上接收分别从proxy1、proxy2、proxy3发送的数据,因为它不是固定的数据量,它可能会改变?
$proxy2=IO::Socket::INET->new(PeerPort=>'5431',Proto=>'UDP',PeerAddr=>'127.0.0.1');
$proxy3=IO::Socket::INET->new(PeerPort=>'5430',Proto=>'UDP',PeerAddr=>'127.0.0.1');
$proxy4=IO::Socket::INET->new(PeerPort=>'5429',Proto=>'UDP',PeerAddr=>'127.0.0.1');
$b=0;
while($b<10){
$ascii=ord($msg1[$b]);
if($ascii>48 && $ascii<59){
print ("ASCII=".$ascii);
print ("It is an number.\n");
$proxy2->send("$ascii");
}
elsif($ascii>64 && $ascii<91 || $ascii>96 && $ascii<123){
print ("ASCII=".$ascii);
print ("It is an alphabet.\n");
$proxy3->send("$ascii");
}
else{
print ("ASCII=".$ascii);
print ("It is a character.\n");
$proxy4->send("$ascii");
}
$b++;
}
【问题讨论】:
-
你有什么问题?
-
我遇到的问题是,当我编写 server1 的代码以使用 recv() 命令从 proxy2 接收值时,server1 不知道从 proxy2 发送了多少值,因为变量的值发送的 ascii 可能会改变,因为我正在接受输入。基本上我是 perl 编程的新手。任何小的帮助将不胜感激