昨天用.Sockets来检查服务器的80端口是否正常,但是它无法控制连接到主机的超时时间,按MSDN说法,好像只能控制Send调用超时时间,没有找到连接超时时间设置,这样造成了当程序连接到一个没有开放80端口的IP时要等待十多秒,程序变得非常缓慢。
Socket 成员:/zh-cn/library/.sockets.socket_members(v=VS.80).aspx
今天google perl telnet得知Net::Telnet,用它来弥补了上个程序的不足,速度快了几倍。
Net::Telnet模块介绍:/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
#!/usr/bin/perluse strict;use Net::Telnet();my $host=$ARGV[0];my $state;my $obj = new Net::Telnet (Timeout => 5,Port=> 80,Errmode=>'die');$state=eval{$obj->open($host)};$obj->close;if ($state==1){print "$host|true\n";}else{print "$host|false\n";}