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]> 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 <http://gmail.com/>> 
> wrote:
> Thanks for the reply Chris.
> 
> One of the confusions I am having is trying to impliment something written 
> for socket.io <http://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/ <http://jobs.nodejs.org/>
> New group rules: 
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md 
> <https://gist.github.com/othiym23/9886289#file-moderation-policy-md>
> Old group rules: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines 
> <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 
> <https://groups.google.com/d/topic/nodejs/DVNUsoEhoRM/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to  
> <>nodejs+unsubscribe@ 
> <mailto:[email protected]>googlegroups.com 
> <mailto:[email protected]>.
> To post to this group, send email to  <>[email protected] 
> <mailto:[email protected]>.
> 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 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> Christopher Mina
> 
> Live Healthy. Work Hard. Be Kind. Gain Success.
> 
> 
> -- 
> Job board: http://jobs.nodejs.org/ <http://jobs.nodejs.org/>
> New group rules: 
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md 
> <https://gist.github.com/othiym23/9886289#file-moderation-policy-md>
> Old group rules: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines 
> <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] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> 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 
> <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/458E1F95-A303-46C0-B07D-C902EFF1898A%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to