I am trying to learn websockets with Go. I have been looking at examples with gorilla websocket.
I have checked out these 2 examples that show how to use gorilla web
Is there a way for me to get the unique id of a connection which I can save in a database like redis and link it to a user id in the same database, and then use that websocket id to send back to a specific client if that user id received a message or a notification?
Sure! You can generate Id by yourself while user registering. Just add userId field in connection
structure
In chat example you have hub, which contains connections pool. That pool is using to broadcast messages to all users:
case m := <-h.broadcast:
for c := range h.connections {
select {
case c.send <- m:
default:
close(c.send)
delete(h.connections, c)
}
}
}
So there you go. You should make method to send private message, depend on userId