我正在寻找http://docs.python.org/library/socketserver.html来尝试使用python处理异步请求。在最下面有一个例子,但它没有任何意义。它说你使用端口0,它分配了一个任意的未使用的端口。但是,如果它们不在同一个程序中,您如何知道为客户端使用哪个端口呢?我不太明白如何让它变得有用。
发布于 2009-11-19 22:18:20
由于客户端与服务器在相同的脚本中实现,因此端口是已知的。在实际场景中,您应该为守护进程指定一个端口。除了让您的客户端知道要连接到哪个端口之外,您可能还需要知道,以便在客户端和服务器之间打开防火墙。
发布于 2009-11-19 22:18:12
在您链接的示例中,它们正在获取端口:
# Port 0 means to select an arbitrary unused port
HOST, PORT = "localhost", 0
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
ip, port = server.server_address但是,如果您认真编写异步处理:),那么您真的应该看看www.twistedmatrix.com:)
发布于 2009-11-19 22:15:13
一旦bind完成,您就需要检索分配给socketserver的端口:在本例中,这可能是通过ip, port = server.server_address完成的。
任意端口只是在不指定端口的情况下创建服务器时使用:操作系统将分配一个可用的端口。
当然,还必须有一种方法来指定要绑定到哪个端口。
https://stackoverflow.com/questions/1763549
复制相似问题