node.js:如何在两个不同的路由中同步套接字接收
我还在学习node.js:如何在两个不同的路由中同步套接字接收,node.js,Node.js,我还在学习node.js基础知识。我的流量是这样的,, 浏览器节点备份服务器正在进行计算 节点和后端使用套接字进行通信 在浏览器中有启动/停止按钮,用于请求后端启动/停止 计算 当节点要求后端启动/停止时,它必须进行查询以查看后端是否已启动 先活着 我的代码是这样的- app.get('/stopCmd', function(req, res) { socketToBackendServer.write("status", function() { console.log
node.js
基础知识。我的流量是这样的,,
浏览器节点备份服务器
正在进行计算
节点和后端使用套接字进行通信
在浏览器中有启动/停止按钮,用于请求后端启动/停止
计算
当节点要求后端启动/停止时,它必须进行查询以查看后端是否已启动
先活着
我的代码是这样的-
app.get('/stopCmd', function(req, res)
{
socketToBackendServer.write("status", function() {
console.log("Sending:", 'Node asking for STATUS');
});
socketToBackendServer.on("data", function() {
if(status is ok) // pseudo code
{
socketToBackendServer.write("stop", function() {
console.log("Sending:", 'Node sending STOP');
});
} else {
console.log("backend server is NOT ready");
}
});
});
app.get('/startCmd', function(req, res)
{
// do similar things as stopCmd
});
/////////////////////////////////////////////////
var socketToBackendServer = net.connect(2899);
function openSocket() {
socketToBackendServer.setKeepAlive(true);
socketToBackendServer.on('connect', onConnect.bind({}, socketToBackendServer));
socketToBackendServer.on('error', onError.bind({}, socketToBackendServer));
}
function onConnect(socket) {
var myData;
console.log('Socket is open!');
socket.on('data', function(data) {
console.log('Received:', data);
io.emit('time', { time: data.toJSON() });
});
}
function onError(socket) {
console.log('Socket error!');
// Kill socket
clearInterval(interval);
socket.destroy();
socket.unref();
// Re-open socket
setTimeout(openSocket, 1e3);
}
openSocket();
server.listen(7778);
如果使用相同的浏览器,如果我疯了,单击开始/停止。。。为了"
stopCmd”,如何确保在查询“状态”时捕获响应
就其功能而言,不是“startCmd”?
是这条线
on(“数据”,函数())
再次感谢您!您可以使用到后端服务器的多个连接,因此一个功能可以自由使用一个通道,响应不会混合 或者,您可以使用多路复用器函数,从两个函数调用该函数:
你没能把代码放进去。终于想出了如何发布codesaw,同时考虑多路复用器,试着看看是否有更好的方法,:)