Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#!/usr/local/bin/perl
# $Id: echo-server-io-socket.pl,v 1.2 2002/02/05 17:53:08 68user Exp $
use IO::Socket; # IO::Socket モジュールを使う。
$port = 5000; # ポート番号を設定
$listening_socket = IO::Socket::INET->new(LocalPort => $port,
Listen => SOMAXCONN,
Proto => 'tcp',
Reuse => 1,
);
if ( ! $listening_socket ){
die "listen できませんでした。 $!\n";
}
print "ポート $port を見張ります。\n";
while (1){
$new_socket = $listening_socket->accept();
$client_sockaddr = $new_socket->peername();
($client_port,$client_iaddr) = unpack_sockaddr_in($client_sockaddr);
$client_hostname = gethostbyaddr($client_iaddr, AF_INET);
$client_ip = inet_ntoa($client_iaddr);
print "接続: $client_hostname($client_ip) ポート $client_port\n";
select($new_socket); $|=1; select(STDOUT);
while (<$new_socket>){
print "メッセージ: $_";
print $new_socket $_;
}
$new_socket->close();
print "接続が切れました。引き続きポート $port を見張ります。\n";
}