Node.js Nodejs从外部访问netserver写入?

Node.js Nodejs从外部访问netserver写入?,node.js,Node.js,请看以下示例: var net = require('net'); var server = net.createServer(function(c) { //'connection' listener console.log('server connected'); c.on('end', function() { console.log('server disconnected'); }); c.write('hello\r\n'); c.pipe(c); });

请看以下示例:

var net = require('net');
var server = net.createServer(function(c) { //'connection' listener
  console.log('server connected');
  c.on('end', function() {
    console.log('server disconnected');
  });
  c.write('hello\r\n');
  c.pipe(c);
});
server.listen(8124, function() { //'listening' listener
  console.log('server bound');
});
我想要一种从
createServer()
函数外部访问c.write的方法

基本上我想做的是:

app.get('/msg/:theMsg', function (req, res) {
    res.setHeader('Content-Type', 'application/json');

server.c.write(req.params.theMsg, socketName); // i got socketName stored in an array

});

只需将
c
对象作为参数传递给另一个函数:

var net = require('net');
var server = net.createServer(function(c) { //'connection' listener
   console.log('server connected');
   c.on('end', function() {
      console.log('server disconnected');
   });
   writestuff(c);
   c.pipe(c);
});
server.listen(8124, function() { //'listening' listener
   console.log('server bound');
});
function writestuff(c) {
   c.write('eueueueue');
}

但是,您必须进行更多的检查,以查看套接字是否仍处于活动状态,等等

var net = require('net');
var sockets = {};
var server = net.createServer(function(c) { //'connection' listener
    var name = generate_name_from_con(c);
    console.log('server connected');
    sockets[name] = c;
    c.on('end', function() {
        delete sockets[n];
        console.log('server disconnected');
    });
    c.write('hello\r\n');
    c.pipe(c);
});
server.listen(8124, function() { //'listening' listener
    console.log('server bound');
});

app.get('/msg/:theMsg', function (req, res) {
    res.setHeader('Content-Type', 'application/json');

    if(socketName in sockets) sockets[socketName].write(req.params.theMsg);

});

如果没有建立连接,有什么要写的?我的服务器的逻辑要求我能够检查连接X是否处于活动状态,然后发送c.write到i。我该如何做呢?参见上面的my app.get示例,其中不包含c参数
app
来自何处?与
服务器
有某种关系吗?当服务器收到get请求时,应用程序会被触发,该请求超出了网络服务器的范围。啊,您正在创建一个web服务器和一个tcp服务器