perl实例之时间客户端

发布时间:2020-08-21编辑:脚本学堂
本文介绍下,perl实现的一个时间客户端的例子,学习下perl socket编程的相关知识。有需要的朋友可以作个参考。

perl编程实例之实现一个简单的时间客户端。
代码:   
 

复制代码 代码示例:

#!/usr/local/bin/perl
#Usage: timeclient [server_host_name]

$them = 'localhost';
$port = 9876 ;
$AF_INET = 2;
$SOCK_STREAM = 1;
$sockaddr = 'S n a4 x8';
($name, $aliases, $proto) = getprotobyname('tcp');
($name,$aliases, $port, $proto)=getservbyname($port, 'tcp') unless $port =~ /^d+$/;
($name,$aliases, $type, $len, $thataddr)=gethostbyname($them);
$that = pack($sockaddr, $AF_INET, $port, $thataddr);
if ( socket(SOCK, $AF_INET, $SOCK_STREAM, $proto ) ){
    print "Socket ok.n";
}
else {
   die $!;
}
if(connect(SOCK, $that)){
   print "Connect ok.n";
}
else {
   die $!;
}
select(SOCK); $| = 1; select (STDOUT);
$hertime = <SOCK>;
close(SOCK);
print "Server machine time is: $hertimen";
@now = localtime($hertime);
print "t$now[2]:$now[1] ", $now[4]+1,"/$now[3]/$now[5]n";