Can the new Java SE 9 WebSockets be used for encrypted client-to-client communication?
>>60159228
there is already websockets in java in libraries, and yes you can use it to build end-to-end encrypted communication if you want
http://download.java.net/java/jdk9/docs/api/java/net/http/WebSocket.html
>>60159257
I was thinking something ideal for client-to-client communication because of NAT and firewall issues.
>>60159228
yes, you just have to specify wss:// protocol in the client
but out of the box java only supports the client endpoint.
>>60159257
wrong. Java does not include a JSR 356 implementation.
For the server endpoint, you have to use external libraries. Tyrus or Jetty are both pretty good.
>>60159352
websocket will work wherever https works. the client located behind the NAT must initiate the connection.
>>60159482
to elaborate, you cannot do a peer-to-peer connection between two clients. you need a public web server that one or both clients connect to. the server will then relay messages from one client to another.
this can be made very secure, if you use SSL with client-side certificates. that is, unless your server gets compromised.