Using HTML5 Websockets, can I open a socket directly between 2 clients (browsers) (assuming I know their IP addresses and there are no NAT traversal issues). I want to send some data directly from one browser to another browser, essentially creating a P2P network. Everything I've read so far on the web, websockets are all used to communicate between client and server, but nothing about client to client.
Thanks
No
Already answered here for more details: Do websockets allow for p2p (browser to browser) communication?
Update:
The WebRTC protocol and API is making rapid progress and allows a Data Channel to be established between two peers (you still may need a STUN/TURN server for the initial NAT traversal and setup).
From past to future: Pick your implementation.
- Most modern browsers support peer to proxy to peer using Websockets.
- Peer to peer is only available using certain browsers plug-ins for example Opera Unite and FireFox Pow.
- Major browsers are in the process of implementing WebRTC which will allow peer to peer.
If you just don't want to implement server your self you can use https://httprelay.io . No additional libraries required, all communication based on simple AJAX calls.