Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8032427
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T01:22:48+00:00 2026-06-05T01:22:48+00:00

I am building a node.js application. When a user connects, they transmit their state

  • 0

I am building a node.js application. When a user connects, they transmit their state as online. When they disconnect, the state gets switched to offline. Also, when a user connects, he gets a list of his connections, along with the states of these friends(online or offline). Ok, great, no problem with this.

But the trouble I’m running into is how to dynamically send the state of a user’s freind while I’m logged in. So, the steps would look like:

  1. I log in.
  2. I get a list of all my friends: user1, user2, user3
  3. I get a list of states for all users: user1:online, user2:online user3:offline
  4. user1 logs off
  5. How do I dynamically get the state change of user 1?

Remember that these users aren’t connected to each other, and also remember that a user’s state needs to get transmitted to all the other user’s who have him as a friend. Let’s say that user1 has 100 friends, I am one of them. I (along with the other 99) need to get the notification that user1 is now offline. Also note that these people may not be on the same physical server (multiple servers handling X number of connections each). What is the best theoretical way to solve this problem?

The only answer that I could come up with is that I save the state in a DB, and that node will query the db, and when the state changes, it will update. But it seems crazy that node would have to watch for changes to the db, that can’t scale. There’s got to be a better way to do this – maybe its an obvious one and I’m missing it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-05T01:22:51+00:00Added an answer on June 5, 2026 at 1:22 am

    As hinted by ebohlman in the comments, the publish/subscribe pattern (also known as “pub/sub”) sounds applicable to your problem. In a pub/sub architecture, instead of the publisher sending messages to specific clients, the publisher instead sends messages to some central pub/sub server. Subscribers notify this server for the kinds of messages, or “topics,” they’re interested in. The key is that the publishers and the subscribers never know, or even care, about each other, making the pattern very scalable (there can be any number of publishers or subscribers).

    Publish/Subscribe Pattern

    In your case, each of the servers that handle user login/logout might subscribe to the “login_changed” topic. Whenever a user logs in or out, the server that processed the change would send a message to the pub/sub server with the topic “login_changed” along with some data indicating what happened to whom (e.g. with a JSON-encoded string). Each of the servers that have subscribed to the “login_changed” topic will receive the message, and they can each determine if they’re responsible for tracking the user in question.

    There are several common tools for managing the pub/sub pattern. Redis, a common key-value store, has support for pub/sub and is a personal favorite tool of mine for the task. AMQP is an open standard that includes many kinds of messaging-related behavior, including pub/sub, and has many implementations, the most common of which is probably RabbitMQ. If you’re interested in hooking up web clients over HTTP, you might be interested in something like Faye. There’s a lot of literature on the subject, as well as many implementations in many languages; a Google search should take you far.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am building an ASP.NET web application that will be deployed to a 4-node
I'm building a node.js application with Mongoose and have a problem related to sorting
I'm building a web-based productivity application that has to deal with modest user concurrency,
I'm building my node.js app which has the following structure: server.js controllers/user.js server.js require
I'm building a node.js application and storing a six-digit base36 representation of a unix
I'm currently building a realtime application using Node. I'm using socket.io to power my
I'm building an application on node.js that has users and products in a many-to-many
Alright, so I'm building an application based in Node.js and I am using mongoose
I'm building a node server that needs to execute code that might be unsafe.
I am building a massively multiplayer game with Node.js and Socket.io. All players will

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.