Thank you very much.. MQTT.js seems that it will do for me.. On Friday, November 21, 2014 1:11:14 AM UTC+5:30, svante karlsson wrote: > > Since you are speaking of sensor networks, MQTT is a "perfect" fit for > what you want. > > This can easily be done in any language (a lot at least) but if you would > like js take a look at: > > https://github.com/adamvr/MQTT.js/ > > The example is almost what you ask for. Let the client (sensor) subscribe > to a message - "sample" > > Have another client (controller) running on the serverside that publishes > those messages > > client.publish('sample', 'ts'); > > all sensors will get that message more or less at the same time and they > will then publish their samples under a topic like "deviceid/data" > > works with both tcp and ssl, if you want to do this over public network > and has a low protocol overhead. > > /svante > > > > 2014-11-20 17:42 GMT+01:00 Will Hoover <[email protected] <javascript:>>: > >> Sorry, noticed that you want them sent at the same time: >> >> var clients = []; >> require('http').createServer(function (req, res) { >> if (req.headers.accept && req.headers.accept == 'text/event-stream') >> { >> res.writeHead(200, { >> 'Content-Type': 'text/event-stream', >> 'Cache-Control': 'no-cache', >> 'Connection': 'keep-alive' >> }); >> clients.push(res); >> req.on('close', function reqClosed() { >> clients.splice(clients.indexOf(res), 1); >> }); >> } else { >> res.writeHead(200, { 'Content-Type': 'text/html' }); >> res.write('<!DOCTYPE html><html><head>' + >> '<script>' + >> 'new >> EventSource("/").addEventListener("message",function(event) {' + >> 'document.getElementById("sse").innerHTML=event.data' >> + >> '});' + >> '</script>' + >> '</head><body><div id="sse">Waiting...</div></body></html>'); >> res.end(); >> } >> }).listen(9080); >> setInterval(function sse() { >> if (!clients.length) { >> return; >> } >> var dt = new Date().toUTCString(); >> for (var i = 0; i < clients.length; i++) { >> clients[i].write("data: " + dt + '\n\n'); >> } >> }, 5000); >> >> >> On Thursday, November 20, 2014 10:11:48 AM UTC-5, Will Hoover wrote: >>> >>> Just to add to Ryan's comments... >>> >>> If you do decide to use a modern web browser as your client (and you >>> don't care about Internet Exploder support) you can use SSEs. The beauty of >>> using SSE is that if your server goes down or a connection is lost the SSE >>> client will reconnect automatically: >>> >>> require('http').createServer(function (req, res) { >>> if (req.headers.accept && req.headers.accept == 'text/event-stream') >>> { >>> res.writeHead(200, { >>> 'Content-Type': 'text/event-stream', >>> 'Cache-Control': 'no-cache', >>> 'Connection': 'keep-alive' >>> }); >>> var id = 0; >>> setInterval(sse, 5000); >>> // or: process.nextTick(sse); >>> sse(); >>> function sse() { >>> res.write('id: ' + ++id + '\n'); >>> res.write("data: " + new Date().toUTCString() + '\n\n'); >>> } >>> } else { >>> res.writeHead(200, { 'Content-Type': 'text/html' }); >>> res.write('<!DOCTYPE html><html><head>' + >>> '<script>' + >>> 'new >>> EventSource("/").addEventListener("message",function(event) >>> {' + >>> 'document.getElementById("sse" >>> ).innerHTML=event.data' + >>> '});' + >>> '</script>' + >>> '</head><body><div id="sse">Waiting...</div></body></html>' >>> ); >>> res.end(); >>> } >>> }).listen(9080); >>> >>> >>> On Thursday, November 20, 2014 7:46:31 AM UTC-5, ryandesign wrote: >>>> >>>> >>>> On Nov 20, 2014, at 4:02 AM, Niral Kalavadia wrote: >>>> >>>> > Yes it is necessary for server to ask for data to client. This is the >>>> only mandatory need of my network. Is it possible to use node.js in this >>>> application?? Is node capable of sending request to multiple client at a >>>> time??? >>>> >>>> Yes, and yes. You can write any code you want to, in most any language. >>>> :) >>>> >>>> If your server is an http server written in node, and your client is a >>>> modern web browser, then the already-mentioned socket.io library is a >>>> popular way to achieve this goal. If your client and server are not >>>> talking >>>> http to one another, if your client is not a modern web browser, then you >>>> may need a different library, or you may need to write the communication >>>> code yourself. >>>> >>>> -- >> Job board: http://jobs.nodejs.org/ >> New group rules: >> https://gist.github.com/othiym23/9886289#file-moderation-policy-md >> Old group rules: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/nodejs/5624ecaa-62f2-4132-954f-ce9c4c8c51e8%40googlegroups.com >> >> <https://groups.google.com/d/msgid/nodejs/5624ecaa-62f2-4132-954f-ce9c4c8c51e8%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > >
-- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/5fdb3fd8-8d1a-4eb7-bf93-7e1a7b6bbb38%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
