zoukankan      html  css  js  c++  java
  • socket接收大数据

    客户端:

    import socket
    
    client=socket.socket()
    client.connect(("localhost",9999))
    
    while True:
        cmd=input(">>>").strip()
        if len(cmd)==0:continue
        client.send(cmd.encode("utf-8"))
        cmd_res_size=client.recv(1024)
        # print("")
        recevied_size=0
        recevied_data=b''
        while recevied_size<int(cmd_res_size.decode()):
            data=client.recv(1024)
            recevied_size+=len(data)
            recevied_data+=data
        else:
            print(recevied_size)
            print(recevied_data.decode())
    client.close()

    服务端

    import socket
    import os,subprocess
    
    server=socket.socket()
    server.bind(('localhost',9999))
    
    server.listen()
    
    while True:
        conn,addr=server.accept()
        print("new conn:",addr)
        while True:
            print("等待新的指令:")
            data=conn.recv(1024)
            if not data:
                print("客户端已断开")
                break
            cmd_res=os.popen(data.decode()).read()
            print("before send",len(cmd_res))
            if len(cmd_res)==0:
                cmd_res="cmd has not output..."
            conn.send(str(len(cmd_res.encode())).encode("utf-8"))
         client_ack = conn.recv(1024)#解决粘包问题
             conn.send(cmd_res.encode("utf-8")) 
    print("send done") server.close()
    server.close()


  • 相关阅读:
    Java异常处理和设计
    一次qps测试实践
    Alternate Task UVA
    Just Another Problem UVA
    Lattice Point or Not UVA
    Play with Floor and Ceil UVA
    Exploring Pyramids UVALive
    Cheerleaders UVA
    Triangle Counting UVA
    Square Numbers UVA
  • 原文地址:https://www.cnblogs.com/zhangzihong/p/7737053.html
Copyright © 2011-2022 走看看