我正在使用WinSock
并且我遇到一个问题:如果我将MY_IP
定义为“127.0.0.1”,这可行,但我不希望这样,我想定义{{1成为“109.95.202.122”,但它不起作用。
我失败了:MY_IP
和Fail bind()
Listen Error
答案 0 :(得分:1)
如果bind()
或listen()
失败,请致电WSAGetLastError()
以找出失败的原因。
如果服务器将自身绑定到127.0.0.1,则客户端将只能连接到127.0.0.1。如果客户端需要连接到109.95.202.122,则服务器需要绑定到将接受客户端的本地IP,或指定INADDR_ANY
绑定到所有可用的本地IP。如果109.95.202.122是服务器的本地IP,那么一切都很好。但是,如果109.95.202.122实际上是服务器正在运行的路由器/ NAT的公共IP,则服务器需要绑定到路由器/ NAT配置为端口转发入站请求的本地IP。 bind()
只能绑定到属于运行bind()
的计算机的本地IP。