python异步接收TCP包

2024-04-18 01:20:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个即时消息应用程序,客户端是用python编写的。在

连接到服务器的代码:

def connect(self, host, port, name):
    host = str(host)
    port = int(port)
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    s.send('CONNECT:' + name)
    print s.recv(1024)

    return s

然后s将存储在自插座. 在

这是一个从服务器接收tcp包并将其打印到命令行的函数。在

^{pr2}$

所以在我看来,它应该接收服务器发送和打印出来的所有内容,但这并没有发生。有人知道怎么把它变成现实吗?在


Tags: 代码nameself服务器应用程序host客户端port
1条回答
网友
1楼 · 发布于 2024-04-18 01:20:25

使用select函数有一种方法可以监视多个流,列出需要处理的所有流,并对其使用select函数,对于用户输入使用sys.stdin和您希望与之交谈的所有套接字。
检查一下这个:https://docs.python.org/2/library/select.html
但是异步聊天的最好方法仍然是使用udp,它会非常好地工作

相关问题 更多 >

    热门问题