2013-07-27 227 views
0

我想用websocket制作一个服务器。我已经尝试了很多编程语言(python,php,C++等),并且就我连接到ws://127.0.0.1:12345而言,一切似乎都没问题。但是,如果我尝试将地址更改为我的PC的IP地址(89.135.123.456),则无法连接到服务器。服务器始终绑定到IP 0.0.0.0,端口12345在我的路由器中启用。我可以使用我的IP地址连接到xampp服务器。我的IP地址无法连接到它的原因是什么?Websocket服务器连接

+0

.... 456不能成为你的IP,但如果你刚刚隐藏真正的IP,那就没关系。尝试在端口上telnet到您的IP。还请检查您的防火墙设置。 – bansi

+0

x.x.123.456,是的,这不是一个真正的IP。 :D – klenium

+0

你检查了你的防火墙设置(如果你有)?您将需要添加异常以接受来自路由器的传入连接。你的apache服务器会将这个异常添加到防火墙中。用作参考。 – bansi

回答

0

我想你正在开发你的本地机器,它通过一个带有网络地址转换(NAT)的通用路由器连接到互联网。

将服务器绑定到0.0.0.0可以确保该进程正在所有接口上进行侦听,这是必需的,并且您已经拥有它,很好。

从何处尝试使用外部IP地址连接到WebSocket服务器?当你在一个典型的NAT互联网连接后面时,你不能在你的本地网络或本地主机上使用它。当您尝试从本地网络中的其他计算机连接到服务器时,您需要使用本地IP地址。

如果您尝试从“外部”(即从路由器的Internet端使用路由器的外部IP地址)进行连接,则需要确保在路由器中配置了端口转发:任何需要将目标your_external_ip:ws_port的IP数据包转发至your_local_ip:ws_port。否则,路由器会简单地丢弃传入的数据包,因为这是意外的。

+0

http://i.imgur.com/Ifyz4DK.png 我试图从我的PC连接到服务器作为我的IP地址(但只有“localhost:12345”的作品)。但是来自其他城市的我的朋友无法连接到89.135.123.456:12345。 – klenium

+0

但是他可以从他的浏览器(http:// 89.135.123.456)连接到我的apache服务器。 – klenium

+0

尝试“虚拟服务器”部分,并确保转发到本地网络中的*您的*机器。 –

相关问题