python web端口占用未冲突


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

python django socket

Fwcke 8 years, 10 months ago

建立socket时候有个 reuse 选项

Geburah answered 8 years, 10 months ago

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

600积分一次 answered 8 years, 10 months ago

Your Answer