首页 > 其他 > 详细

解决粘包问题2服务端

时间:2020-01-03 20:11:04      阅读:74      评论:0      收藏:0      [点我收藏+]
from socket import *
import subprocess,struct,json
server=socket(AF_INET,SOCK_STREAM)
server.bind((127.2.2.2,6688))
server.listen(5)
while True:
    conn,client_addr=server.accept()
    print(client_addr)
    while True:
        try:
           cmd=conn.recv(1024)
           if not cmd:break
           obj=subprocess.Popen(cmd.decode(utf-8),shell=True,
                                stdout=subprocess.PIPE,
                                stderr=subprocess.PIPE
                                )
           stdout=obj.stdout.read()
           stderr=obj.stderr.read()
           headers={filepath:a.txt,
                    md5:123fvs54,
                    total_size:len(stdout)+len(stderr)}
           headers_json=json.dumps(headers)
           headers_bytes=headers_json.encode(utf-8)
           conn.send(struct.pack(i,len(headers_bytes)))
           conn.send(headers_bytes)
           conn.send(stdout)
           conn.send(stderr)
        except ConnectionResetError:break
    conn.close()
server.close()

解决粘包问题2服务端

原文:https://www.cnblogs.com/0B0S/p/12146148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!