Getting close. Please see my previous post. Ray
On Monday, February 22, 2016 at 6:34:14 PM UTC-5, Christopher Mina wrote: > > That's correct, just a normal array. > > I was just showing an example of how to use the array to store a reference > to all open web sockets. Then when you need to increment, you'd just > iterate over the array. > > e.g. > > var myCount = 10; > sockets.forEach(function(ws) { > ws.emit("countupdated", myCount); > }); > > And your client side code would listen for the "countupdated" event, > something like: > > clientSocket.on("countupdated", function(data) { > console.log("The new count is " + data); > }); > > > I'm still not sure if any of this is answering your question, though... > -Chris > > On Monday, February 22, 2016 at 4:22:52 PM UTC-7, Sávio Lucena wrote: >> >> Hey Ray, >> >> I haven’t been following this thread but from what I can infer of Chris’s >> answer ’sockets’ is a javascript Array to store and keep reference of each >> ws instance created, ‘push’ is just adding an instance to it :). >> >> >> On Feb 22, 2016, at 2:00 PM, Ray Jender <rayje...@gmail.com> wrote: >> >> I am definitely using a particular library, ws. >> Is the sockets.push(ws) a valid command for that? I could not find it >> anywhere? >> >> Thanks, >> >> Ray >> >> On Sunday, February 21, 2016 at 9:56:05 PM UTC-5, Christopher Mina wrote: >> >>> Hi Ray. >>> >>> You'll want to keep a reference to each web socket created (in an array >>> or object hash) and a property on your server or in a database to track the >>> number of active sessions. When a new connection is made (or closed), you >>> will increment / decrement the count and then send a message event through >>> each socket to the client. The client will be listening for that event (eg >>> "count_changed") and when the event comes through, it will read the new >>> count off the data payload of the event and render it to the screen. >>> >>> I'm not sure if I'm answering your question or not. Maybe you are asking >>> specifically about the particular library you're using? It seems to me, the >>> confusion may just be in how you maintain a reference to each open web >>> socket. >>> >>> For instance : >>> >>> var sockets = []; >>> *wss.on('connection', function(ws) {* >>> >>> * sockets.push(ws);*} >>> >>> You can now reference any socket created via this array. You'll want to >>> ensure you are removing disconnected sockets as well, by listening for a >>> disconnect event. >>> >>> Hopefully this helps. >>> Chris >>> >>> >>> On Sunday, February 21, 2016, Ray jen...@gmail.com> wrote: >>> >>>> Thanks for the reply Chris. >>>> >>>> One of the confusions I am having is trying to impliment something >>>> written for socket.io to use in ws. >>>> >>>> But that said, I do have code to get the authkey, but I am confused how >>>> the authkey can be used to access the webpage? >>>> >>>> So for code, I have: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *function nextUniqueId() { idCounter++; return >>>> idCounter.toString();}wss.on('connection', function(ws) { var >>>> sessionId = nextUniqueId(); console.log('Connection received with >>>> sessionId ' + sessionId); var id = >>>> ws.upgradeReq.headers['sec-websocket-key']; console.log('New >>>> Connection id : : ', id);*So sessionid just counts the number of >>>> users, which is what I want to display on all user pages. >>>> >>>> Right now, each user webpage is only showing what the total user count >>>> is when the user created the ws. >>>> (1,2,3,4, etc). So the first user is showing 1, the second user is >>>> showing 2, and so on, >>>> >>>> So I am confused on how the var id above can be used to send data to a >>>> particular webpage (websocket)? >>>> >>>> >>>> Thanks, >>>> >>>> Ray >>>> >>>> >>>> >>>> On Saturday, February 20, 2016 at 11:48:55 PM UTC-5, Christopher Mina >>>> wrote: >>>>> >>>>> Sorry about that half finished post, my last post was sent >>>>> prematurely... >>>>> >>>>> What I was getting at is that I now have access to the authkey during >>>>> the setup phase. I can use this auth key to query the database for >>>>> information about that user and store it. Now I have a way to directly >>>>> associated the incoming websocket with a specific user. >>>>> >>>>> I'll now store the actual websocket instances in one or more hash >>>>> maps, and when I need to, for instance, send a single user some >>>>> information, i can query that websocket via the socketUserId hash map. >>>>> Or >>>>> if I want to send everyone a message, I'll loop through a list where I >>>>> keep >>>>> a reference to all sockets, and send each one the message individually. >>>>> This is just one way of doing it. There are other more appropriate >>>>> pub/sub >>>>> mechanisms as well you could investigate. >>>>> >>>>> Hopefully that helps a little bit. >>>>> -Chris >>>>> >>>>> >>>>> On Saturday, February 20, 2016 at 7:26:54 PM UTC-7, Ray Jender wrote: >>>>>> >>>>>> >>>>>> Please bear with me as I am new to websockets. >>>>>> >>>>>> So, my problem is keeping track of websocket instances. >>>>>> I am trying to modify some existing open source javascript code. >>>>>> >>>>>> I have server.js, index.js and index.html files. As with any website, >>>>>> it could have many users browsing the page. There is only a single >>>>>> webpage. >>>>>> >>>>>> The basic operation is: index.html --> index.js --> server.js --> >>>>>> index.js >>>>>> >>>>>> What I am having a hard time wrapping my head around is associating >>>>>> the >>>>>> websocket with the browser. What I want to do is be able to update >>>>>> >>>>>> each webpage with the number of users. I have googled tons of sites >>>>>> but >>>>>> I am still very confused on how this should work. >>>>>> >>>>>> I've seen a thing like ws.broadcast, but I am having a hard time >>>>>> trying to >>>>>> implement that. It seems that the way the opensource code I am using >>>>>> initializes >>>>>> websockets way different than the examples I am seeing. >>>>>> >>>>>> I am using node v0.10.42, npm 1.4.29, express 4.12.4, minimist 1.1.1, >>>>>> ws 0.7.2, bower 1.4.1 >>>>>> >>>>>> I need a tutor to help me through this! Care to volunteer? I would >>>>>> be so appreciative!!! >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Ray >>>>>> >>>>>> >>>>>> >>>> -- >>>> 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 a topic in the >>>> Google Groups "nodejs" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/nodejs/DVNUsoEhoRM/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> nodejs+un...@googlegroups.com. >>>> To post to this group, send email to nod...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/nodejs/0b7f961d-35a9-48e4-9dff-d79c9322f9bd%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/nodejs/0b7f961d-35a9-48e4-9dff-d79c9322f9bd%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> -- >>> Christopher Mina >>> >>> Live Healthy. Work Hard. Be Kind. Gain Success. >>> >>> >> -- >> 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 nodejs+un...@googlegroups.com. >> To post to this group, send email to nod...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/nodejs/0128a2a5-4498-4689-a191-d71981307458%40googlegroups.com >> >> <https://groups.google.com/d/msgid/nodejs/0128a2a5-4498-4689-a191-d71981307458%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 nodejs+unsubscr...@googlegroups.com. To post to this group, send email to nodejs@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/0a230843-5532-4d6e-ae20-64f16fa5c3ef%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.