Search code examples
javasocketsnettybidirectional

Java: encrypted server/clients bi-directional communication?


What is the best way to establish an encrypted bi-directional communication between a server and multiple clients?

The server has persistence database, and will send data to clients and clients will send back data. This must be encrypted for best protection against network sniffing tools and etc.

Would Netty server be a good candidate for this? Can I use sockets with netty and client applications to connect to the server?

Thank you.


Solution

  • You can just encrypt the socket and send whatever protocol you like over the wire. HTTPS is just one of them. For example we have implemented SMTPS on top of netty without any problems.

    You just need to define the protocol, write the encoder / decoder and add them with the SslHandler in the pipeline. Thats it.