我有一个基本的node.js应用程序,该应用程序旨在打开两个客户端之间的连接,并将一个客户端的输入回显到另一个客户端。

var net = require("net");
console.log("Relay Started");
var id = 0;
var Socket = [];
relay = net.createServer(function(socket) {
        socket.on('connect', function() {
                console.log('Connected');
                if(socket.id==null) {
                        socket.id = id;
                        Socket[id]=socket;
                        id++;
                }
        });
        socket.on('data', function(data) {
            data = data.toString()
            if (socket.id==0) {
                    Socket[1].write(data);
            } else if (socket.id==1) {
                    Socket[0].write(data);
            }
            console.log(socket);
            console.log(data.toString());
    });

})
relay.listen(process.env['app_port']||8080);


在本地运行时,它可以正常工作,但是当我将其放在Nodester开发服务器上时,无法使用telnet zapcs.nodester.com 18007进行连接(它以zapcs名称托管,给定的端口为18007)。 Relay Started已记录,但此后没有任何记录,也没有连接。有什么想法为什么会这样?

最佳答案

您不能telnet zapcs.nodester.com 18007,只能通过http或websock连接到zapcs.nodester.com:80,nodester会将您的请求路由到主机上的应用程序实际端口(18007)。

并检查以下内容:http://www.slideshare.net/cmatthieu/nodester-architecture-overview-roadmap-9382423

关于sockets - 净模块Nodester不监听端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10746710/

10-10 12:25