粘包问题

#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')

posted on 2019-09-06 21:25  黑糖A  阅读(94)  评论(0编辑  收藏  举报