169 похожих чатов

I am building a chat server So for storing a

websocket connection I am using the hashmap where key will be the userid and value will be the user socket channel

I want the user to connect the same account from multiple phones so when the user login again the socket channel gets replaced by the latest user login

How do I solve this issue
Isn’t hashmap a good idea to store the connection ? If not how do I store it.

3 ответов

17 просмотров

What abput the other phones? How do they get the messages they are logged in for? When you do this, you are implementing an hidden one device rule that the few users with multiple devices confuse.

Athul-N Автор вопроса
Sebastian
What abput the other phones? How do they get the m...

I want like how telegram does it When we logged in other phone we will get all messages

Athul N
I want like how telegram does it When we logged i...

Telegram wakes up in the background and fetches messages. When the App is open there is an permanent connection for updates. If i have the desktop and tge phone app open, both get the updates, your approach would be that the latest approach gets the update. I would implement the server side in a way that there are two api-endpoint where updates are get: 1. An query for past messages, it returns all the messages past an point of time, for first logins and when an device was not online for a time, if its implemented so it can stream the data it can be implemented more responsive 2. An websocket based one that returns messages from an pub-sub system that saves messages before submitting incoming in an database for endpoint 1. I would implement the pub sub system that it uses groups for each chat/group and that each websocket connection subscribes to the groups. This way you can implement it with redudancy from the start.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта