我有一个基本的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/