【问题标题】:Python socket server: listening to multiple clients [closed]Python套接字服务器:监听多个客户端[关闭]
【发布时间】:2012-06-09 15:05:57
【问题描述】:

我必须监听传入的连接,但同时我必须接收来自已经连接的客户端的消息。但是listen(1) 使套接字等待,所以我无法接收它们。该怎么办? (我必须在客户端发送消息后立即获取消息)

【问题讨论】:

  • 您的问题不够具体。您使用的是什么类型的套接字?查看一些 UDP 或 TCP 套接字教程,了解您想了解的内容

标签: python sockets


【解决方案1】:

简而言之,您有 3 个主要选择:

  1. 为每个客户端打开一个线程,在您accept() 之后生成,并在此上下文中运行一个循环,即read() => .... => write()

  2. 在每个客户端的 accept() 之后运行一个使用 select() 的主循环,并自行处理调度。

  3. 最佳选择 - 使用异步网络框架,如 tornadogeventtwisted 或其他一些以透明方式处理此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 2016-06-25
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多