아래 코드에서 두 포트 (port1 및 port2)를 볼 수 있습니다. 그것은 오래 된 OpenShift (v2)에서 잘 실행되었지만 최신 버전 3.5에서는 실행할 수 없습니다. 어떻게이 코드를 최신 버전에서 실행할 수 있습니까? 포트 1 -이 웹 소켓에 사용하고, PORT2는 - 그것은 HTTP POST 요청에 사용할 것입니다 소스 : https://github.com/hayageek/WhatsApp-WebOpenshift 3.5에서 두 개의 포트를 여는 방법
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
var ip = process.env.OPENSHIFT_NODEJS_IP;
var port1 = 8080;
var port2 = 8081;
var WebSocketServer = require('ws').Server
var uuid = require('node-uuid');
var wss = new WebSocketServer({ path:'/gencode',port: port1,server:ip });
var clients = {};
var dumCounter=0;
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
var obj = JSON.parse(message);
if(obj.op == 'hello')
{
var uuidToken = uuid.v1();
clients[uuidToken] = ws;
var hello = { op:'hello',token:uuidToken};
ws.send(JSON.stringify(hello),{mask:false});
}
});
});
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain","Access-Control-Allow-Origin":"*"});
process.on('uncaughtException', function(err) {
response.end("Exception");
});
if(request.method == "POST")
{
var url = request.url;
if(url == "/auth")
{
var body = '';
request.on('data', function(chunk)
{
body += chunk.toString();
});
request.on('end', function() {
var params = JSON.parse(body);
console.log("Recived Params: "+JSON.stringify(params));
var uuId = params.uuid;
var accessToken = params.access_token;
var msg = {'op':'authdone','accessToken':accessToken};
if(clients[uuId] != undefined || clients[uuId] != null)
{
console.log("Before "+Object.size(clients));
clients[uuId].send(JSON.stringify(msg),{mask:false});
delete clients[uuId];
console.log("After "+Object.size(clients));
response.end('{"status":"OK"}');
}
else
{
response.end('{"status":"NOK"}');
}
});
}
else
{
response.end('{"status":"NOK"}');
}
}
else
{
response.end("NOT Supported");
}
}).listen(port2,ip);
난 내가 그래서 난 어떤 생각이없는 OpenShift에 새로운 해요 정말 미안 해요 배포 구성 및 서비스에서 편집하는 방법에 대해 설명합니다. 여기 좀 도와 줄 수 있니? –
나는 당신이 나에게 말한 것을 시도했지만 아무 일도 없었습니다. ** 사양 : 포트 : - 이름 : 8080 - TCP 프로토콜 : TCP 포트 : 8080 TARGETPORT : 8080 - 이름 : 8081 - HTTP 프로토콜 : TCP 포트 : 8081 TARGETPORT : 경우 8081 ** –
예 프로젝트에서'oc' 명령 행 도구를 사용하고 있다면'oc get dc'와'oc edit dc XYZ'를 실행하십시오. 여기서 XYZ는 편집하려는 응용 프로그램의 배치 설정 이름입니다. 그런 다음'oc get svc' 명령으로 서비스를 편집하십시오. 이미 경로를 편집 한 것 같습니다. – user2983542