I'm wondering whether my server can access the devices behind firewall using web sockets, once the connection is established by that device (as the server is accessible by that devices)?
I've read this answer, that has mentioned this same scenario, but from the answer it's not clear that whether the server can access the devices behind router or not.
If this is possible, I want to use socket.io to first initiate the connection by client to server and then making clients accessible from server to further communication.
I would have tried this by my self, but I don't have such setup available rightnow. Thanks!
As long as the connection is established by the client, the server can push messages (in the end, the websocket is a TCP connection).
The only problem you might have is if the client cannot connect using websockets due to some proxy/firewall, in which case you can try secured websockets (wss). These are usually let through because the websockets layer is masked by TLS, which usually is not blocked by firewalls/proxies.