zoukankan      html  css  js  c++  java
  • 解决粘包问题2服务端

    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()
  • 相关阅读:
    获取网卡信息
    MVC Razor
    MVC
    Windows 消息
    sql 总结
    学生成绩表 SQL练习题
    oracle与sqlserver的十大区别
    for的冒泡排序练习题
    对于for的一些认识
    穷举
  • 原文地址:https://www.cnblogs.com/0B0S/p/12146148.html
Copyright © 2011-2022 走看看