client-server communication via websockets