博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用struct模块解决tcp的粘包问题
阅读量:5265 次
发布时间:2019-06-14

本文共 685 字,大约阅读时间需要 2 分钟。

服务器端程序

import structimport socketsk = socket.socket()sk.bind(('127.0.0.1',9000))sk.listen()conn,addr = sk.accept()send_msg = input('>>>').encode()bytes_len = struct.pack('i',len(send_msg))conn.send(bytes_len)conn.send(send_msg)   # 粘包现象conn.send(b'world')conn.close()sk.close()# 1.发送端的粘包  合包机制 + 缓存区# 2.接收端的粘包  延迟接受 + 缓存区# 3.流式传输    # 电流 高低电压    # 所以我们说 tcp协议是无边界的流式传输# 4.拆包机制# 粘包现象的本质# 接收端不知道发送端给我发送了多长的数据

 

客户端程序

 

import structimport socketsk = socket.socket()sk.connect(('127.0.0.1',9000))bytes_len = sk.recv(4)msg_len = struct.unpack('i',bytes_len)[0]msg = sk.recv(msg_len)print(msg.decode())msg2 = sk.recv(5)print(msg2)sk.close()

 

转载于:https://www.cnblogs.com/chen55555/p/10318131.html

你可能感兴趣的文章
Factory Design Pattern
查看>>
P1192-台阶问题
查看>>
Java大数——a^b + b^a
查看>>
简单的数据库操作
查看>>
帧的最小长度 CSMA/CD
查看>>
树状数组及其他特别简单的扩展
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
2019春 软件工程实践 助教总结
查看>>