zoukankan      html  css  js  c++  java
  • 2019.10.22 用TCP实现服务端并发接收

    client

    
    
    import socket
    
    client = socket.socket()
    client.connect(
        ('127.0.0.1',8888)
    )
    
    
    while 1:
        msg = input('input>>>')
        if  msg == 'q':
            break
        client.send(msg.encode('utf-8'))
        data = client.recv(1024).decode('utf-8')
        print(data)
    
    client.close()
    
    
    

    server线程解决

    import socket
    from  multiprocessing  import Process,Queue
    import threading
    import socketserver
    
    # q = Queue(4)
    
    server = socket.socket()
    server.bind(
        ('127.0.0.1', 8888)
    )
    server.listen(3)
    
    def se():
    
    
        while 1:
            conn,addr = server.accept()
            print(addr)
    
            while 1:
                try:
                    data = conn.recv(1024).decode('utf-8')
                    print(data)
                    conn.send(data.encode('utf-8'))
    
                except Exception as e:
                    print(e)
                    break
    
            conn.close()
    
    
    
    if __name__ == '__main__':
    
        p1 = threading.Thread(target=se)
        p2 = threading.Thread(target=se)
        p3 = threading.Thread(target=se)
        p1.start()
        p2.start()
        p3.start()
    
    

    server进程解决

    from  multiprocessing  import Process
    import socket
    
    
    
    
    def se(ser):
    
    
        while 1:
    
            # q.put(sb)
            conn,addr = ser.accept()
            print(addr)
    
            while 1:
                try:
                    data = conn.recv(1024).decode('utf-8')
                    print(data)
                    conn.send(data.encode('utf-8'))
    
                except Exception as e:
                    print(e)
                    break
    
            conn.close()
    
    
    
    if __name__ == '__main__':
    
        server = socket.socket()
        server.bind(
            ('127.0.0.1', 8888)
        )
        server.listen(3)
        p1 = Process(target=se,args = (server,))
        p2 = Process(target=se,args = (server,))
        p3 = Process(target=se,args = (server,))
    
    
        p1.start()
        p2.start()
        p3.start()
    
    
  • 相关阅读:
    A1049. 命题逻辑
    矩形面积交:输出0.00
    完美的代价
    枚举孪生素数对
    改变参数的两种方法
    二面准备:React、Typescript、其他基础补充
    【TypeScript】基础及问题汇总
    【React】做一个百万答题小项目
    【React】相关题目总结
    【React】半小时深刻理解《半小时深刻理解React》(老套娃了)
  • 原文地址:https://www.cnblogs.com/agsol/p/11721903.html
Copyright © 2011-2022 走看看