zoukankan      html  css  js  c++  java
  • 多进程并发简单socket

    server---------------------
    这种简单实现:坏处客户端启动一个一个进程,进程多了机器要蹦
    #!/usr/bin/env python
    # encoding: utf-8  
    # Date: 2018/6/17


    from socket import *
    from multiprocessing import Process


    # 负责通信
    def talk(conn):
        while True:
            try:
                data = conn.recv(1024)
                if not data: break
                conn.send(data.upper())
            except ConnectionResetError:
                break
        conn.close()


    # 建立链接
    def server(ip, port):
        server = socket(AF_INET, SOCK_STREAM)
        server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
        server.bind((ip, port))
        server.listen(5)

        while True:
            conn, addr = server.accept()
            p = Process(target=talk, args=(conn,))
            p.start()
        server.close()


    if __name__ == '__main__':
        server('127.0.0.1', 8080)

        
        
    client-------------------
    #!/usr/bin/env python
    # encoding: utf-8  
    # Date: 2018/6/17

    # 客户端可以启动多个进程,启动一个就是一个进程
    from socket import *

    client = socket(AF_INET, SOCK_STREAM)
    client.connect(('127.0.0.1', 8080))

    while True:
        msg = input('>>>:').strip()
        if not msg: continue
        client.send(msg.encode('utf-8'))
        data = client.recv(1024)
        print(data.decode('utf-8'))


        
        
        
       

  • 相关阅读:
    文件上传漏洞及解决办法
    block,inline和inline-block概念和区别
    java中toString() 、(String)、String.valueOf的区别
    实用的原生js图片轮播
    JSON如何处理-jsonpath使用举例
    gRPC初识
    用Rust写一个控制台的俄罗斯方块
    nginx 反向代理报400错误与Host关系
    JPA分页查询与条件分页查询
    Java reactor响应式编程
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/9193628.html
Copyright © 2011-2022 走看看