Cross browser plugin can be developed using some extension development tools such as Cross Rider or kango . I feel that Cross rider provides good support.
If we are going for Java applet for socket communication, definitely we are ready to face some trouble. Better avoid Java applet.
Socket communication can be achieved in the Web browser using many ways. "Web Socket" is one of them. The only constrain in using it is that it is supported only in HTML5 supporting browser or browser version. IE give support to WebSocket from IE11 only.
Another way to go is using Socket.io . It is having a good way of achieving it by using the available techniques in the client browser. For Example, if the client browser do not have a Flash player (Flash supports socket communication), it uses WebSocket or it "fallback" to available technique supported in browser.
Even node.js is a light weight technique.
The challenge here is we could not communicate with server which support socket with a "websocket" client. We need a proxy, Ref: Connect to standard socket using WebSocket
Hope this should help who need some start on Web Socket communication. If anyone want to add to this I would be very happy.