问题描述
我已经创建了读取消息的服务器,客户端将写入消息(其中包含标头 邮件与正文连在一起)。但是,我的服务器无法正常读取,第一次读取整个邮件,第二次它只是读取标题而没有读取正文。
在server.py
import asyncio
from _socket import AF_INET
async def handle_echo(reader,writer):
data = await reader.read(1024)
print(data)
async def main():
server = await asyncio.start_server(
handle_echo,'127.0.0.1',449,family=AF_INET)
addr = server.sockets[0].getsockname()
print(f'Serving on {addr}')
async with server:
await server.serve_forever()
asyncio.run(main())
在客户端代码段中:
message = loadImage()
writer.write(len(json.dumps(message)).to_bytes(4,'little') + json.dumps(message).encode("utf-8"))
await writer.drain()
并且还为两个客户端请求在Wire shark中检查了相同的消息。 标头和正文长度都相同。
能否请您解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)