基于TCP通信的套接字

基于tcp通信的套接字必须先启动服务器再去启动客户端去链接服务器

客户端

服务端

这只是基于tcp通信的一个简单的套接字  只能进行一次的通信

 

 

 服务端                                                                                                 客户端

这是能多次通信的套接字

 

 

 在阻塞前添加一个循环就能实现一个链接循环

 

服务端

客户端

这是模拟ssh实现远程执行命令

 

 

 粘包问题

二、两种情况下会发生粘包。

1.发送数据时间间隔很短,数据了很小,会合到一起,产生粘包

2.接收方不及时接收缓冲区的包,造成多个包接收(客户端发送了一段数据,服务端只收了一小部分,服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包)

客户端

服务端

 

之前的ssh远程执行命令一直会有粘包问题存在 用struct模块能很好的解决粘包问题

服务端

 

客户端

 

posted @ 2018-09-03 22:00  大张哥  阅读(548)  评论(0编辑  收藏  举报