this post was submitted on 08 Oct 2023
5 points (85.7% liked)

Web Development

3441 readers
15 users here now

Welcome to the web development community! This is a place to post, discuss, get help about, etc. anything related to web development

What is web development?

Web development is the process of creating websites or web applications

Rules/Guidelines

Related Communities

Wormhole

Some webdev blogsNot sure what to post in here? Want some web development related things to read?

Heres a couple blogs that have web development related content

CreditsIcon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

Hello, I'm developing application which uses websockets for chatting feature.

I was wondering what is best way to store all client handles in server side. Every tutorial (eg. this) just says to store in some form of map. I figured that in large commercial apps list of clients would be rather high and I wondered if storing it on heap is actually valid implementation or if some other solutions like caching dbs like redis are used.

What's your experience with that?

you are viewing a single comment's thread
view the rest of the comments
[–] RonSijm@programming.dev 3 points 1 year ago* (last edited 1 year ago)

Don't think the size really matters... an IP is 4 bytes, and the port another byte, plus lets say 4 bytes for the UserId. So with some overhead, you can practically put about 100k addresses in 1 MB.

With that many addresses, you should probably be more concerned about the lookup than the storage. I'd probably put then in a Dictionary[UserId, SocketData].

Websockets don't usually stay alive for long periods, so there's not much point of storing them in a database. Unless you're building something serverless, but then I wouldn't build something myself, but just use Firebase Cloud Messaging instead