我有一些设备(想想心率监视器),将原始TCP数据包发送到我的Meteor服务器。当它接收到数据时,它会写入到mongodb &,然后我将使用Meteor发布数据并将其无效化到客户端。听流星与原始TCP数据包
据我所知,sockJS不能做原始TCP数据包,所以我设置了一个net
服务器来接收它们。该代码在纯节点的伟大工程,但是当我npmRequire
我收到以下错误使用它:
Exception while invoking method 'startNet' TypeError: Object #<Object> has no method 'createServer'
这里是我的代码:
Meteor.methods({
'startNet': function (port) {
var net = Meteor.npmRequire('net');
net.createServer(function (socket) {
console.log("connected");
socket.on('data', function (data) {
console.log(data.toString());
});
}).listen(port);
}
});
任何想法,为什么net
变量返回一个空对象?
凡含有这种方法的文件在什么位置? FWIW我不禁想着你会更好地在单独的应用程序中运行这个额外的服务器。它并不完全符合Meteor的优势 - 也许你可以在两个应用程序之间共享你的数据访问逻辑。 – Rajit
在服务器文件夹...所以你建议1个纯节点的应用程序与流星共享一个数据库? –
你必须在其他地方做错事。如果我放入'meteor shell'并运行'var net = Meteor.npmRequire('net');',那么生成的'net'对象具有'createServer'功能。所以这个问题似乎并没有在这里看到的代码。 –