如何通过Tcp连接到openshift上的Nodejs应用程序

时间:2016-02-25 14:26:05

标签: node.js openshift

这是我在Openshift上运行的Nodejs应用程序。

var express = require('express');
var net = require('net');
var app = express();
var sock;

var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1'


//first of all connect to a stable client
console.log('waiting for connection\nfrom mobile server on port 5132');
var server = net.createServer(function(socket) { sock = socket; });
server.listen(5132,server_ip_address);// I want to connect to this server
// by a java socket


//receive request from other clients
app.get('/', function (req, res) 
{
    // retriving mobileNumber and message
    console.log('A new request\nreceived on 6544 ');
    var mobileNumber = req.query.mobileNumber;
    var message      = req.query.message;

    if (sock) 
    {
        sock.write(mobileNumber+"\n"+message+"\n");

    }

    res.end('i am ended');
});

app.listen(server_port,server_ip_address);

这是我的java客户端:      socket = new Socket(“服务器的IP地址”,5132);

它在localhost上工作得很好但是当我在Openshift上部署它时。 我不知道如何连接到server.listen(5132,server_ip_address);

还有其他方法可以实现它。

1 个答案:

答案 0 :(得分:1)

在OpenShift Online 80(http),443(https),8000(ws),8443(wss)上,只有以下端口公开为您的应用程序公开。只有http / websocket协议可用,因为所有请求都通过apache代理(用于http)或nodejs代理(用于websockets)进行路由。因此,您将无法在OpenShift Online上与您的应用程序建立原始tcp连接。

您可以查看Developer Portal的此页面,了解有关如何将连接路由到您的应用程序的更多信息:https://developers.openshift.com/en/managing-port-binding-routing.html