我正在使用Python 2.6和Windows Server 2008 。
服务器有两个IP地址1个内部,1个外部 。
我需要Python来使用外部IP地址,但这样做,我得到这个:
socket.error:[错误10049]请求的地址在上下文中无效
更确切地说,我使用Django的runserver命令来熟悉它
ipconfig
只会引出内部IP地址,而我运行的所有服务都使用外部IP,没有任何问题!
有任何想法吗?
这是Windows在尝试绑定本地计算机上未分配给计算机上的任何适配器的地址时出现的错误。 如果ipconfig
不显示它,你不能绑定到它。
如果外部地址位于正在向其请求NAT服务器内部地址的路由器上,则不能绑定到它,因为它位于不同的计算机上。 这可能是这样的。 你可能想绑定到socket.INADDR_ANY
(或者它的Django等价物)。 这将绑定到机器上的所有地址。
还要注意,如果外部地址是NAT的内部的,绑定到内部应该就足够了。