У меня проблемы с небольшими приложениями, которые я разрабатываю.Вызов socket.io из сокета dgram udp4
У меня есть Arduino с датчиком температуры, я хотел отправить значения в службу nodejs и показать его на веб-странице. Я хотел использовать socket.io, но я просто могу использовать UDP-соединение от arduino до сервера (ethernet). Просто чтобы обновить значение датчика, кажется, что я должен вызвать сокет io из службы UDP, но я не могу.
My socket.io, который работает, когда я вызываю его с веб-страницы.
var io = require('socket.io').listen(3000);
io.sockets.on('connection', function (socket) {
socket.on('message', function (message) {
console.log("Got message: " + message);
io.sockets.emit('SensorList', { 'temperature': temp });
});
});
Это служба UDP, который считывает пакеты ARDUINO:
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
var fs = require('fs');
**var io = require('socket.io');**
var crlf = new Buffer(2);
crlf[0] = 0xD; //CR - Carriage return character
crlf[1] = 0xA; //LF - Line feed character
server.on("message", function (msg, rinfo) { //every time new data arrives do this:
console.log("server got: " + msg.readUInt16LE(0) + " from " + rinfo.address + ":" + rinfo.port); // you can comment this line out
**var socket = io.connect('http://localhost:3000');
socket.on('connect', function() {
socket.send(msg.readUInt16LE(0));
});**
});
server.on("listening", function() {
var address = server.address();
console.log("server listening " + address.address + ":" + address.port);
});
server.bind(6000); //listen to udp traffic on port 6000
Ошибка является: вар сокет = io.connect ('http://localhostit.is:3000');^ TypeError: Объект # не имеет метода 'connect' на Socket. (/Users/xfr/Documents/nodejs/temp1/app2.js:15:19) на Socket.EventEmitter.emit (events.js: 98: 17) в UDP.onMessage (dgram.js: 437: 8)
Если я уничтожу всю часть io, я могу видеть значения в консоли. Если есть еще один способ смешать 2 службы в одном ... скажите мне несколько подсказок, и я сделаю поиск. Спасибо.
затем отметьте свой ответ как правильный для будущих людей –