Perl套接字条件不';行不通
我试图创建一个服务器和客户机,其中服务器根据客户机发送的内容向客户机返回不同的消息。如果客户机建立连接但不发送任何内容,服务器将返回消息1,如果客户机发送一些数据,服务器将返回消息2。但这不起作用,客户机一直在等待数据,没有打印任何内容 客户:Perl套接字条件不';行不通,perl,sockets,client-server,conditional,Perl,Sockets,Client Server,Conditional,我试图创建一个服务器和客户机,其中服务器根据客户机发送的内容向客户机返回不同的消息。如果客户机建立连接但不发送任何内容,服务器将返回消息1,如果客户机发送一些数据,服务器将返回消息2。但这不起作用,客户机一直在等待数据,没有打印任何内容 客户: use IO::Socket; my $sock = new IO::Socket::INET ( PeerAddr => '10.1.1.28', PeerPort => '7070', Proto => '
use IO::Socket;
my $sock = new IO::Socket::INET (
PeerAddr => '10.1.1.28',
PeerPort => '7070',
Proto => 'tcp' );
if (@ARGV != "") {
print $sock "$ARGV[0] $ARGV[1]";
} else {
$data = <$sock>;
print $data;
}
$sock->close;
使用IO::Socket;
my$sock=新IO::Socket::INET(
PeerAddr=>“10.1.1.28”,
PeerPort=>7070',
Proto=>“tcp”);
如果(@ARGV!=“”){
打印$sock“$ARGV[0]$ARGV[1]”;
}否则{
$data=;
打印$数据;
}
$sock->close;
服务器
use IO::Socket;
my $sock = new IO::Socket::INET (
LocalHost => '10.1.1.28',
LocalPort => '7070',
Proto => 'tcp',
Listen => '1',
);
while(1) {
my $new_sock = $sock->accept();
if (<$new_sock> ne "") {
print $new_sock "conection with parameters";
} else {
print $new_sock "default message";
};
使用IO::Socket;
my$sock=新IO::Socket::INET(
LocalHost=>“10.1.1.28”,
LocalPort=>“7070”,
Proto=>“tcp”,
Listen=>1,
);
而(1){
我的$new_sock=$sock->accept();
如果(ne“”){
打印$new_sock“带参数的连接”;
}否则{
打印$new_sock“默认消息”;
};
需要咀嚼吗
use IO::Socket;
use Data::Dumper;
my $sock = new IO::Socket::INET(
LocalPort => '7070',
Proto => 'tcp',
Listen => '1',
);
while (1) {
my $new_sock = $sock->accept();
my $in = <$new_sock>;
chomp($in);
if ( $in ne "" ) {
print Dumper($in);
print $new_sock "conection with parameters";
}
else {
print $new_sock "default message";
}
}
使用IO::Socket;
使用数据::转储程序;
my$sock=新IO::Socket::INET(
LocalPort=>“7070”,
Proto=>“tcp”,
Listen=>1,
);
而第(1)款{
我的$new_sock=$sock->accept();
我的$in=;
咀嚼(单位:美元);
如果($ne“”){
打印转储程序(单位:美元);
打印$new_sock“带参数的连接”;
}
否则{
打印$new_sock“默认消息”;
}
}
始终使用使用严格;使用警告;
“如果客户机未建立连接但未发送任何内容,服务器将返回消息1”,不,不会。服务器将等待客户机无条件发送内容。