在node.js上提供对聊天服务器的公共访问

时间:2013-06-26 05:55:13

标签: node.js

现在我正在学习node.js并使用node.js创建一个简单的聊天服务器。

我的代码:

net = require('net');

var sockets = [];

var s = net.Server(function(socket) {
    sockets.push(socket);

    socket.on('data', function(d) {
        for (var i = 0; i < sockets.length; i++) {
            if(sockets[i] == socket) continue;
            sockets[i].write(d);
        }
    });

    socket.on('end', function() {
        var i = sockets.indexOf(socket);
        sockets.splice(i, 1);
    });
});

s.listen(8000);

如何在互联网上共享此聊天服务器,以便其他人可以使用它?

在我的本地计算机上,我可以通过telnet访问: telnet localhost 8000

2 个答案:

答案 0 :(得分:0)

如果你真的想让其他人通过互联网上的telnet(我建议反对)使用这个聊天,你需要通过你的路由器(我假设你使用路由器)转发端口到本地机器上的端口8000 。给你的朋友你的IP地址和你绘制的端口​​,他们也应该能够远程登录。

然而,如果没有更多信息,很难回答这个问题。你使用防火墙吗?调制解调器?等

答案 1 :(得分:0)

根据所有信息,很难回答这个问题。

这完全取决于你是否在路由器,防火墙等后面。如果你通过调制解调器直接连接到互联网,你可以使用ipconfig(在命令提示符下)找到你的公共IP。如果您在网络路由器后面,您很可能必须设置端口转发。如果是这种情况,只需在您的路由器上进行Google搜索,我相信您会找到一个教程来设置它,或者您可以参考您的手册。

以下是端口转发的说明:http://en.wikipedia.org/wiki/Port_forwarding

希望这有助于或指向正确的方向!