【问题标题】:Python Socket: Storing 'connections'?Python Socket:存储“连接”?
【发布时间】:2017-08-12 20:21:39
【问题描述】:

我有多线程 python 套接字服务器:

connection, client_address = sock.accept()

我需要存储“连接”以用于其他线程。

怎么做?

【问题讨论】:

  • 请问“商店”是什么意思?你能给我们更多的代码吗?
  • @Peter Majko 我可以解释一下课程。例如:有 2 个客户端连接,它们都有唯一的 id,如果客户端 1 发送指定的数据,服务器会向客户端 2 发送一些数据。我的服务器为每个连接创建线程
  • 更多代码真的很有帮助。你的文字解释是不够的。我有相同的 :) 多线程、多处理、基于扭曲、基于 socketserver 甚至套接字的套接字服务器。但是我不明白在您的代码中您有客户端 1、客户端 2、您在哪里处理连接事件等...
  • @Peter Majko,明天我会看到你的“列表”示例,如果这不能满足我,我会展示我的代码 :)

标签: python python-sockets


【解决方案1】:

也许是一个列表?

connections = []
connection, client_address = sock.accept()
connections.append(connection)

connection[0]  # this is your connection

【讨论】:

    【解决方案2】:

    是的,当您使用 s.accept() 时,它会创建一个子频道,您可以在其中与该客户私下交谈。因此,如果您这样做:connections.append(connection),然后您可以在列表中选择您想要的然后去connections[i].send(str.encode("xyz")) 或者,如果您只想向每个客户发送消息,只需使用sock.send("xyz"),它将发送给每个人。希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2017-11-22
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2020-05-02
      • 1970-01-01
      相关资源
      最近更新 更多