我有一些設備(想想心率監視器),將原始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'功能。所以這個問題似乎並沒有在這裏看到的代碼。 –