2016-02-21 54 views
0

這裏是我的代碼從多個客戶端發送數據到一個穩定的客戶:我想了解如何使用Node.js

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


//first of all connect to a stable client 
var server = net.createServer(function(socket) { 
// do nothing here . what i want is to use this socket in 
// (following) app.get() function 
}); 
server.listen(1337, '127.0.0.1'); 

//receive request from other clients 
app.get('/', function (req, res) 
{ 
// retriving mobileNumber and message 
var mobileNumber = req.query.mobileNumber; 
var message  = req.query.message; 

//now i want to send this data to the stable client 
// to which i have connected earlier. 
res.end(); 
}); 

app.listen(6544); 

我希望每當一個新的「/」請求到達時將數據發送到先前連接的插座。

回答

0

通過一個變量var sock來做到這一點的一種方法如下。

var sock; 
var server = net.createServer(function(socket) { 
    sock = socket; 
}); 
server.listen(1337, '127.0.0.1'); 

app.get('/', function (req, res) 
{ 
    if (sock) { 
     // use sock here 
    } 
}); 
+0

謝謝你的回覆。它爲localhost工作,但我想在openshift上部署它。 Openshift給了我一個url來訪問我的nodejs應用程序,但不是IP地址。那麼有什麼辦法可以在openshift上做到這一點,請幫助我。 –

+0

@NarayanChoudhary,對不起,我對Openshift不熟悉。也許你可以爲你的新問題提出另一個問題 – zangw