套接字错误“IP地址在其上下文中无效” – Python

我正在使用Python 2.6和Windows Server 2008.

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

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

socket.error: [Error 10049] The requested address is not valid in its context

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

编辑:

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

有任何想法吗?

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

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

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

转载注明原文:套接字错误“IP地址在其上下文中无效” – Python - 代码日志