tcp发现消息
这是服务端代码~~~~
#! /usr/bin/python3import socket
# 创建流式套接字
sk = socket.socket(family=socket.AF_INET,type=socket.SOCK_STREAM,proto=0)
# 设置端口立即重用
sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# 绑定IP地址
sk.bind(('127.0.0.1',7676))
# 设置监听套接字,创建监听队列
sk.listen(6)
# 等待客户端连接
connsk,addr = sk.accept()
# 收发消息
while True:
with open('ceshi_server.txt','w') as f:
data = connsk.recv(1024)
print('收到来自%s客户端的消息:%s'%(addr,data.decode()))
if data == '':
break
f.write(data.decode())
connsk.send('已经将收到内容写到文件'.encode())
connsk.close()
sk.close()
这是客户端代码
#! /usr/bin/python3import socket
# 创建流式套接字
sk = socket.socket(family=socket.AF_INET,type=socket.SOCK_STREAM,proto=0)
# 发起连接请求
sk.connect(('127.0.0.1',7676))
# 收发消息
with open('ceshi.txt','r') as f:
for l in f:
# if l == '':
# break
sk.send(l.encode())
data = sk.recv(1024)
print('从服务器收到的消息:',data.decode())
sk.close()
我的目的是通过tcp给服务器发送一个文件,发送的方式是循坏读取文件的内容发送,但是文件内容就四行,客户端发送完了正常断开,但是服务器老是多接收了两条空的信息,导致一个BrokenPipeError错误
以上是 tcp发现消息 的全部内容, 来源链接: utcz.com/a/163092.html