Daytime协议
Daytime protocol
一个1983年在RFC 867内定义的网络传输协议。
主机可以用传输控制协议(TCP)或用户数据报协议(UDP)的端口 13连接支持DAYTIME协议的服务器。
服务器会以ASCII字符传回当时日期及时间,格式未要求,可能类似:星期, 月 日, 年 时区。例如:Tuesday, February 22, 1982 18:45:59-PST
它也用作测试电脑网络的联通性,现在测试网络的方法已经转为用ping或traceroute。
--维基
基于TCP或UDP,使用端口号13
没特定的语法格式,返回ASCII字符, 一行
两种流行的语法格式:
一种是:
Weekday, Month Day, Year Time-Zone
Example:
Tuesday, February 22, 1982 17:37:43-PST
另一种用于SMTP:
dd mmm yy hh:mm:ss zzz
Example:
02 FEB 82 07:59:01 PST
PHP Daytime 简单例子:
$host = '0.0.0.0';
$port = '13';
$serv = new swoole_server($host, $port, SWOOLE_PROCESS, SWOOLE_SOCK_TCP);
$serv->on('connect', function ($serv, $fd){
$serv->send($fd, date('l, F, d, Y, H:i:s-T'."\n"));
$serv->close($fd);
});
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
//require onReceive/onPacket callback
$serv->close($fd);
});
$serv->start();
测试:
$ telnet 127.0.0.1 13
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Sunday, March, 19, 2017, 15:22:45-UTC
Connection closed by foreign host.
参考
DAYTIME协议
rfc867
NIST Internet Time Servers