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 <[email protected] <javascript:>>
> 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 [email protected]> 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...@ <javascript:>googlegroups.com <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/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 [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/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 [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/c0281d36-ad24-4da6-8cf0-0315596d3087%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.