如何让远程客户端访问我的服务器?

时间:2016-01-01 21:37:44

标签: socket.io server ip netty

有, 我正在尝试使用netty-socket io https://github.com/mrniko/netty-socketio编写聊天应用程序。

我的服务器代码

    Configuration config = new Configuration();
    config.setHostname(my IP address);  
    config.setPort(3000);
    final SocketIOServer server = new SocketIOServer(config);
    server.start();

在客户端(网页)上我有:

    var socket =  io.connect(my IP address);

当我使用我的公共/外部IP地址(你在google上获得的那个“我的ip是什么”)时,我得到无法分配请求的地址:bind 错误

当我使用我的内部地址时,服务器只能由同一网络上的客户端访问(我学校的wifi)

我只是想知道远程客户端如何通过ip地址访问我的机器上的服务器。谢谢。

我对这方面很陌生并且有很多疑问,所以如果问题很愚蠢,请提前抱歉。

1 个答案:

答案 0 :(得分:0)

当您使用公共IP时,外部客户端无法访问您,因为它是您学校的公共IP(所有连接的计算机具有相同的共享公共/外部IP)以及您学校的防火墙或路由器未配置为将端口3000中的流量路由到您的特定计算机。 必须更改配置...但您可能无法做到这一点。

因此,您只能将ip / port绑定到内部网络IP,并且只能由同一网络上的计算机访问。

最佳解决方案可能是通过使用托管服务将您的服务器置于学校网络之外