套接字错误"IP地址在其上下文中无效" - Python

Rad*_*Hex 7 python windows django networking windows-server-2008

我正在使用Python 2.6Windows Server 2008.

服务器有两个IP地址1个内部,1个外部.


我需要Python来使用外部IP地址,但是这样做我得到了这个:

socket.error:[错误10049]请求的地址在其上下文中无效


更准确地说,我正在使用Django的runserver命令来熟悉它


编辑:

ipconfig 只显示内部IP地址,而我运行的所有服务都使用外部IP而没有任何问题!


有任何想法吗?

Ros*_*ron 17

当您尝试绑定到本地计算机上未分配给计算机上任何适配器的地址时,Windows会出现这种错误.如果ipconfig没有显示,则无法绑定它.

如果外部地址在路由器上,即NAT请求服务器的内部地址,则无法绑定到它,因为它位于不同的计算机上.情况可能就是这样.您可能希望绑定到socket.INADDR_ANY(或其Django等效项).这将绑定到机器上的所有地址.

另请注意,如果外部地址是NAT内部地址,则绑定到内部地址就足够了.