2015-11-03 191 views
1

我正在嘗試爲我的嵌入式設備創建一個網絡套接字Nodejs服務器,以在OpenShift上發送數據。OpenShift中的網絡套接字連接

我想8000

爲了測試我使用從下面的代碼來創建這個簡單的echo服務

var net = require('net'); 
var HOST = process.env.OPENSHIFT_NODEJS_IP; 
var PORT = process.env.OPENSHIFT_NODEJS_PORT || 3000; 

console.log('IP:' + HOST + ' Port:' + PORT); 

var server = net.createServer(function(connection) { 
console.log('client connected'); 

connection.on('end', function() {console.log('client disconnected');}); 

connection.write('Hello World!\r\n'); 
connection.pipe(connection); 
}); 

server.listen(PORT, HOST , function() { 
console.log('server is listening'); 
}); 

我根據OpenShift的端口綁定Guide我有我的客戶端應用程序連接到端口我的臺式機。

var net = require('net'); 

var HOST = 'nodejs-myapplication.rhcloud.com'; 
var PORT = 8000; 

var client = net.connect(PORT, HOST, function() { 
console.log('connected to server!'); 
}); 

client.on('data', function(data) { 
console.log(data.toString()); 
client.end(); 
}); 
client.on('end', function() { 
console.log('disconnected from server'); 
}); 

客戶端腳本獲取連接到服務器,並卡在那裏本身。之後沒有任何事情發生。

現在,如果我在瀏覽器中打開地址nodejs-myapplication.rhcloud.com:8000,則NodeJS服務器會記錄一個已連接和斷開連接的客戶端,但是當NodeClient連接時,服務器不會顯示任何更新。節點客戶端只是說連接並停留在那裏而不做任何事情。

如果我在本地運行相同的腳本,它工作正常,(本地我使用HOst作爲127.0.0.1和端口爲3000)。

如何獲取TCP應用程序連接到Openshift NodeJS服務器?

設備將通過套接字發送ASCII輸出,例如。 $ VAR,12,23,21 \ r \ n

我需要能夠讀取該數據,將其轉換爲JSON並將其發送到另一臺服務器。

回答