Client to Client Websockets
This isn't possible through Web Sockets today. However, you can use WebRTC which has robust methods of establishing a peer to peer connection.
WebRTC is typically used for video conferencing applications, but a data channel is set up as well.
There is a lot to WebRTC. You can find an example here: http://www.html5rocks.com/en/tutorials/webrtc/datachannels/