zoukankan      html  css  js  c++  java
  • python3 通过多进程来实现一下同时和多个客户端进行连接通信

    tcp_server.py

    # coding:utf-8
    from socket import *
    from multiprocessing import Process
    
    
    def talk(conn, addr):
        print("子进程开始.")
        while 1:
            try:
                client_from_msg = conn.recv(1024)
                print("来自客户端%s端口%s的消息: " % (addr[0], addr[1]), client_from_msg)
                if not client_from_msg: break
                conn.send(client_from_msg.upper())
            except Exception:
                break
    
    
    if __name__ == '__main__':
        print("主进程开始.")
        server = socket()
        ip_port = ("127.0.0.1", 8080)
        server.bind(ip_port)
        server.listen(5)
        while 1:
            conn, client_addr = server.accept()
            print(conn, client_addr)
            p = Process(target=talk, args=(conn, client_addr))
            p.start()

    tcp_client1.py

    # coding:utf-8
    from socket import *
    
    
    client = socket()
    ip_port = ("127.0.0.1", 8080)
    client.connect(ip_port)
    while 1:
        inp = input(">>>:").strip()
        if not inp: continue
        client.send(inp.encode("utf-8"))
        from_server_msg = client.recv(1024)
        print("来自服务端的消息:", from_server_msg)
    
    client.close()

    tcp_client2.py和tcp_client1.py代码完全一样.

  • 相关阅读:
    Nginx
    Web 系统架构一般组成
    分布式系统常见的问题
    Scala + Thrift+ Zookeeper+Flume+Kafka配置笔记
    Spring Boot—21Actuator--监控
    Zookeeper
    Spring Boot—20Zookeeper
    Spring Boot—19Session
    Spring Boot—19Cache
    Spring Boot—18Redis
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10966882.html
Copyright © 2011-2022 走看看