Secure WebSocket (WSS) on Java server and client in javascript

Connect with WebSocket with wss://localhost:8025/websockets/server

not fulfilled: WebSocket timeout confirmation confirmation

Please help what I am doing wrong!


Server side code:

To start the server

Server server = new Server("localhost", 8025, "/websockets", WebSocketServerEndpoint.class);
server.start();

@ServerEndpoint(value = "/server")
public class WebSocketServerEndpoint {
    @OnOpen
    public void onOpen(Session session) throws Exception 
    {
        Logger.write("communication_clientservice", "WebSocket >> Connected ... " + session.getId());
    }

    @OnMessage
    public void onMessage(String message, Session session) throws IOException 
    {
        Logger.write("communication_clientservice_websocket", "UI to Websocket >> command received at Websocket >> " + message);
    }

    @OnClose
    public void onClose(Session session, CloseReason closeReason) throws IOException 
    {
        Logger.write("communication_clientservice_websocket", "WebSocket >>"+ String.format("Session %s closed because of %s", session.getId(), closeReason));   
        session.close();
    }
}

      


Client side client to connect server

 var ws = new WebSocket("wss://localhost:8025/websockets/server");             
               ws.maxTimeout = 5 * 1000;
               ws.onopen = function()
               {
                  // Web Socket is connected, send data using send()
                  ws.send("{\"from\":\"shabeer\"}");
                  //alert("Message is sent...");
                  var elem = document.getElementById("receivedmsg");
                  elem.innerHTML = "panic request send";
               };

               ws.onmessage = function (evt) 
               { 
                  var received_msg = evt;
                  //alert("Message is received..." + received_msg);
                  var elem = document.getElementById("receivedmsg");
                  elem.innerHTML = "Response received : " + received_msg;
               };

               ws.onclose = function()
               { 
                  // websocket is closed.
                  ///alert("Connection is closed..."); 
                  setTimeout(function(){WebSocketTest()}, 5000);
               };

      


+3


source to share


1 answer


The websocket server starts with ws (unsecured like HTTP) by default. If you need SSL (WSS), it must be explicitly set in your server object.

If you use the below url in your client, it should work.



wss://localhost:8025/ to ws://localhost:8025/

      

0


source







All Articles