トップ> perl scripts> Perlでsocketのタイムアウト
Perlでsocketのタイムアウト
Perlでsocketを利用した通信のタイムアウトを設定する。
eval {
local $SIG{'ALRM'} = sub { die 'connection timeout...' };
alarm 10;
my $ip = inet_aton($host)
|| return ( -1, "non exist $host" );
my $sock_addr = pack_sockaddr_in($port, $ip);
socket(SOCKET, PF_INET, SOCK_STREAM, 0)
|| return ( -1, "cannot create socket" );
connect(SOCKET, $sock_addr)
|| return ( -1, "cannot connect $sock_addr" );
select(SOCKET);
$|=1;
select(STDOUT);
print SOCKET "$send_string";
close SOCKET;
alarm 0;
};
alarm 0;
if( $@ ) {
unlink $lock;
}
カテゴリ内の記事
- 404ファイルが存在しないを自前で作る(2005/09/14)
- .htaccessでSSIを有効に(2005/09/24)
- HTMLのタグ変換、改行変換などのCGI/PERLスクリプト(2005/10/01)
- メール送信のcgi/perlスクリプト関数(2005/10/01)
- 配列の個数(2005/10/05)
- FTPコマンドで自動ログイン(2006/04/11)
- お気に入り追加(2006/05/02)
- 続)メールのヘッダをMIMEエンコード(2006/05/08)
- Perl Net::ftpで単純なFTP送信(2006/05/12)
- Perlでsocketのタイムアウト(2006/07/12)
