php测试TCP的连接建立与关闭状态及数据传输通信过程案例

  介绍

这篇文章给大家分享的是有关php测试TCP的连接建立与关闭状态及数据传输通信过程案例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

<强> TCP/IP协议

关于该协议的详细内容可自行查阅& lt; & lt; TCP/IP详解卷1:协议祝辞祝辞

php的TCP/udp API内容是php手册上的内容

套接字API测试的php版本

TCP的连接建立与关闭状态及数据传输通信过程

<强> php代码【就是手册的例子了】

& lt; php ?/* *   *由PhpStorm。   *用户:1655664358 @qq.com   *日期:2019/6/19   *时间:55   */error_reporting (E_ALL);/*允许脚本在等待连接。*/set_time_limit (0);/* Turn alt="php测试TCP的连接建立与关闭状态及数据传输通信过程案例">

TCP/IP 选项文件

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

然后我们启动服务

服务状态查看命令:netstat -ntlapc 可每隔一秒刷新一次状态

tcpdump 工具:

tcpdump -A -XX -i lo

客户端我们使用 telent 工具连接测试 即可

测试图如下

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

连接和关闭图

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

如果是客户端发起的关闭则状态则是:

客户端先发送一个结束报文 FIN 包,此时处于 FIN_WAIT1 状态,服务器确认应答处于 CLOSE_WAIT 状态

此时客户端处于 FIN_WAIT2 状态,当服务器也发了一次 FIN 结束报文时,服务器处于 LAST_LOCK 状态,客户端确认后处于 TIME_WAIT 状态,服务器则是关闭 CLOSED 了

状态转移图

php测试TCP的连接建立与关闭状态及数据传输通信过程案例

不管你用的是 PHP 提供的 SOCKET API 还是 SWOOLE 或是 C 写的测试都一样的!

感谢各位的阅读!关于php测试TCP的连接建立与关闭状态及数据传输通信过程案例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

php测试TCP的连接建立与关闭状态及数据传输通信过程案例