python web端口占用未冲突

使用pycharm启动djang项目时,注意到一个现象,即:当两个项目都启动在8000端口时,pycharm并不会报错,两个项目都可以正常启动。在浏览器中通过localhost:8000访问时,只能访问到第一个启动的项目。只有第一个项目关闭后,才会访问到第二个项目。
在java中,如果两个项目使用了相同的端口,jvm会抛出异常 java.net.BindException:Address already in use: JVM_Bind
问题来了,python中是如何处理占用相同端口的web工程的?为何没有报错,而是允许其正常执行?

阅读 4.7k
2 个回答

socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)

建立socket时候有个 reuse 选项

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题