Python接收消息流

时间:2015-04-23 13:43:09

标签: python sockets python-3.x

# part
def my():
    while True:
        a = input("message  :")
        a1 = s.send(str.encode(a))
        a2 = bytes.decode(s.recv(1024))
        print(" The received message : ",a2)

嗨,我的问题是,当用户可以同时输入消息时,如何让客户端直接从服务器接收消息? 因为有很多消息从服务器接收并合并在一起。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到:

  • 使用select模块中的一个功能,例如 select.select()select.poll()。这些功能允许 你检查一组文件描述符(包括套接字的描述符) 对于I / O事件 - 可读,可写,错误。您的代码会响应这些 适当的阅读或写作活动。
  • 使用支持异步I / O的框架,例如asynccore 这是在Python标准库中。或第三方如 扭曲,龙卷风等。
  • 使用线程。有一个线程来处理用户的I / O,以及a 第二个(或更多)线程来处理每个网络连接。

这些方法的详细说明超出了SO的范围,但您可以随时询问有关具体细节或问题的进一步问题。