You have the basic of making work a single socket. However, each socket you are creating uses your socket events. Since each of the sockets would equal a thread, you need to send the event for each socket you can have. This is why when a new socket is open you need to map it in an array of sockets.
This thread can help you out.
Websocket send data all client in playframework 2
And refer to this exemple of play with framework.