Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Openshift上的节点应用程序中进行套接字连接时,ECONNREFUSED_Node.js_Sockets_Express_Openshift - Fatal编程技术网

Node.js 在Openshift上的节点应用程序中进行套接字连接时,ECONNREFUSED

Node.js 在Openshift上的节点应用程序中进行套接字连接时,ECONNREFUSED,node.js,sockets,express,openshift,Node.js,Sockets,Express,Openshift,openshift服务器上的socket connect-in-Node应用程序上的EconResult,在开发机器上工作 您好,我正在尝试编写一个简单的应用程序,需要从我的server.js(预装模板附带)建立一个传出套接字连接。在我的快车路线上,我有 self.createRoutes = function() { self.routes = { }; self.routes['/asciimo'] = function(req, res) { var link = "http://

openshift服务器上的socket connect-in-Node应用程序上的EconResult,在开发机器上工作

您好,我正在尝试编写一个简单的应用程序,需要从我的server.js(预装模板附带)建立一个传出套接字连接。在我的快车路线上,我有

self.createRoutes = function() {
self.routes = { };
self.routes['/asciimo'] = function(req, res) {
    var link = "http://i.imgur.com/kmbjB.png";
    res.send("<html><body><img src='" + link + "' /></body></html>");
};

self.routes['/mycfg'] = function(req, res) {
    var serviceSocket = new net.Socket();
    serviceSocket.connect({port: 443, host:"www.google.com",localAddress:self.ipaddress}, function() {
        console.log("connected!!");

    });
    serviceSocket.on("error", function (e) {
        console.log("Could not connect to service " + e);
    });
}
self.createRoutes=函数(){
self.routes={};
self.routes['/ascimo']=函数(req,res){
变量链接=”http://i.imgur.com/kmbjB.png";
res.send(“”);
};
self.routes['/mycfg']=函数(req,res){
var serviceSocket=new net.Socket();
serviceSocket.connect({port:443,主机:“www.google.com”,localAddress:self.ipaddress},function(){
log(“connected!!”);
});
serviceSocket.on(“错误”,函数(e){
console.log(“无法连接到服务”+e);
});
}
} self.address是t process.env.OPENSHIFT_NODEJS_IP,在我的例子中是127.4.217.129。
我在我的开发机器上试过这个代码,效果很好。但在openshift服务器上使用EconnReflection失败。任何帮助都将不胜感激。谢谢您的时间。

试试这样的方法

var host = process.env.OPENSHIFT_NODEJS_IP;
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;

var WebSocketServer = require('ws').Server,
    wss = new WebSocketServer({host: host, port: port});
    wss.on('connection', function(ws) {
      ws.on('message', function(message) {
        console.log('received: %s', message);
        ws.send(message);
      });
      ws.send('something');
    });
编辑


抱歉,我忽略了您正在进行外部连接。在本地复制后,我可以通过删除
socket.connect上的
localAddress
进行连接。在看了文档和源代码之后,这是有意义的。与谷歌建立连接并绑定到本地ip将不起作用,因为谷歌不知道该本地ip

试试这样吧

var host = process.env.OPENSHIFT_NODEJS_IP;
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;

var WebSocketServer = require('ws').Server,
    wss = new WebSocketServer({host: host, port: port});
    wss.on('connection', function(ws) {
      ws.on('message', function(message) {
        console.log('received: %s', message);
        ws.send(message);
      });
      ws.send('something');
    });
编辑


抱歉,我忽略了您正在进行外部连接。在本地复制后,我可以通过删除
socket.connect上的
localAddress
进行连接。在看了文档和源代码之后,这是有意义的。与谷歌建立连接并绑定到本地ip将不起作用,因为谷歌不知道该本地ip

问题是节点版本0.6.25。我用node verison 0.10创建了一个新应用程序,同样的代码运行良好。

问题出在node版本0.6.25。我用node verison 0.10创建了一个新的应用程序,同样的代码工作正常。

没问题,谢谢你的回复。通过删除
localAddress
,它仍然会在openshift服务器上显示
ECONNREFUSED
。我还尝试了我的公开openShift URL“…rhcloud.com”,但结果是一样的。这很奇怪,我运行了这个奇怪的程序,我在我的装备上运行了节点0.10.5,我能够连接。谢谢你的回复。我做了一个console.log(process.versions),发现我的opneshift应用程序上的节点版本是0.6.20。我在package.json中将节点引擎版本更改为>=0.10.0,但似乎没有效果。你有什么建议吗?更新我尝试了“echo”0.10.15>>。openshift/markers/NODEJS_VERSION”并推动了更改,但版本仍然保持在0.6.20没有问题,谢谢你的回复。通过删除
localAddress
它仍然在openshift服务器上显示
EconRefused
。我还尝试了我的公共openshift URL“…rhcloud.com”“但结果是一样的。这很奇怪,我运行了这个奇怪的程序,我在我的装备上运行了这个程序,节点为0.10.5,我能够连接。谢谢你的回复。”。我做了一个console.log(process.versions),发现我的opneshift应用程序上的节点版本是0.6.20。我在package.json中将节点引擎版本更改为>=0.10.0,但似乎没有效果。你有什么建议吗?更新我尝试了“echo”0.10.15>.openshift/markers/NODEJS_VERSION”并推动了更改,但版本仍然保持在0.6.20