粘包问题
#server粘包
import socket
#生成一个socket对象
soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定地址跟端口号
soc.bind(('127.0.0.1',8001))
#监听(半连接池的大小),不是连接数
soc.listen(3)
#等着客户端来连接,conn相当于连接通道,addr是客户端的地址
while True:
print('等待客户端连接')
conn,addr=soc.accept() #卡主,如果没有客户端连接,会一直卡在这,当有连接,才继续往下走
print('有个客户端连接上了',addr)
while True:
try:
data=conn.recv(1024)
print(data)
data2=conn.recv(1024)
print(data2)
data3=conn.recv(1024)
print(data3)
except Exception:
break
# 关闭通道
conn.close()
# 关闭套接字
soc.close()
#client粘包
import socket
soc=socket.socket()
soc.connect(('127.0.0.1',8001))
while True:
in_s=input('请输入要发送的数据:')
soc.send(b'a')
soc.send(b'b')
soc.send(b'c')