先来讲解,为什么会产生粘包问题呢,网上炒了一段,如果想要仔细了解的同学可以去搜寻一下对应的资料
- 当应用层协议使用 TCP 协议传输数据时,TCP 协议可能会将应用层发送的数据分成多个包依次发送,而数据的接收方收到的数据段可能有多个『应用层数据包』组成,所以当应用层从 TCP 缓冲区中读取数据时发现粘连的数据包时,需要对收到的数据进行拆分。
1.话不多说上代码,服务端代码
1 | //创建Server对象,监听 127.0.0.1:9501 端口 |
2.客户端代码
1 |
|
3.执行效果(服务端)
1 | [root@localhost 03]# php xintiao_tcp_server.php |
3.执行效果(客户端)
1 | [root@localhost 03]# php xintiao_tcp_client.php |