0

クライアントが送信する内容に応じて、サーバーがクライアントに異なるメッセージを返すサーバーとクライアントを作成しようとしています。クライアントが接続を確立しても何も送信しない場合、サーバーはメッセージ 1 を返し、クライアントが何らかのデータを送信した場合、サーバーはメッセージ 2 を返します。

クライアント:

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;

サーバ

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";  
};
4

1 に答える 1

0

むさぼり食う必要がある

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";
    }
}
于 2013-03-04T21:20:53.720 に答える