gpt4 book ai didi

python - 我可以将多个服务器绑定(bind)到同一个 TCP 端口吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:15:09 26 4
gpt4 key购买 nike

我预计同一端口上有多个服务器会导致问题。事实上,当我尝试在同一端口上启动两个服务器时,我希望它抛出异常。问题是,它似乎非常乐意在同一端口上启动多个服务器。我可以让以下代码的许多实例运行得很好,没有异常。

import BaseHTTPServer
import SimpleHTTPServer
import sys

def main():
try:
server = BaseHTTPServer.HTTPServer(('127.0.0.1',5000), SimpleHTTPServer.SimpleHTTPRequestHandler)
print "On port: " + str(server.socket.getsockname()[1])
except Exception, e:
print e
server.serve_forever()

if __name__ == "__main__":
main()

所有这些都声称位于端口 5000 上。如果它尝试使用已占用的端口,我怎样才能让它抛出异常?

编辑:这是Python 2.6.4

编辑2:http://www.youtube.com/watch?v=rVOG3JdbHAM&feature=youtu.be因为人们似乎认为我所解释的事情不可能?或者我完全误解了人们。不管怎样,这段视频应该可以澄清这一点。我启动了两台服务器,它们都没有打印出任何异常。当我关闭第一个时,第二个开始工作。为什么会发生这种情况?我希望第二个服务器永远不会启动并打印异常。这不是应该发生的事吗?

最佳答案

我尝试执行您的代码,第二个实例返回,

 [Errno 98] Address already in use

理应如此。 SuSE Linux 上的 Python 2.6。

可以使用netstat实用程序检查端口5000是否真的被占用?

关于python - 我可以将多个服务器绑定(bind)到同一个 TCP 端口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11570290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com