Reaching onmessage websocket event HtmlUnit












0














I want to read the messages received by a websocket in onmessage event. I follow the explanation made in this thread



I only achieved to add a Listener and be informed when the websocket is created but I don´t know how to read the messages received by the websocket in onmessage event.



Here is my code:



    public class TestBet365Socket {
public static void main(String args) throws Exception {


/* turn off annoying htmlunit warnings */
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);



WebClient client = new WebClient(BrowserVersion.CHROME);
client.getOptions().setCssEnabled(false);
client.getOptions().setJavaScriptEnabled(true);
client.getOptions().setThrowExceptionOnScriptError(false);



client.getInternals().addListener(new Listener() {

@Override
public void webSocketCreated(WebSocket arg0) {

System.out.println("Websocket Created " + arg0);

}
});



HtmlPage page = client.getPage("https://mobile.bet365.com/Default.aspx?lng=3");
client.waitForBackgroundJavaScript(10000);

List<NameValuePair> response =page.getWebResponse().getResponseHeaders();
for (NameValuePair header : response) {
System.out.println(header.getName() + " = " + header.getValue());
}
System.out.println(page.asText());

client.close();
}
}









share|improve this question





























    0














    I want to read the messages received by a websocket in onmessage event. I follow the explanation made in this thread



    I only achieved to add a Listener and be informed when the websocket is created but I don´t know how to read the messages received by the websocket in onmessage event.



    Here is my code:



        public class TestBet365Socket {
    public static void main(String args) throws Exception {


    /* turn off annoying htmlunit warnings */
    java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);



    WebClient client = new WebClient(BrowserVersion.CHROME);
    client.getOptions().setCssEnabled(false);
    client.getOptions().setJavaScriptEnabled(true);
    client.getOptions().setThrowExceptionOnScriptError(false);



    client.getInternals().addListener(new Listener() {

    @Override
    public void webSocketCreated(WebSocket arg0) {

    System.out.println("Websocket Created " + arg0);

    }
    });



    HtmlPage page = client.getPage("https://mobile.bet365.com/Default.aspx?lng=3");
    client.waitForBackgroundJavaScript(10000);

    List<NameValuePair> response =page.getWebResponse().getResponseHeaders();
    for (NameValuePair header : response) {
    System.out.println(header.getName() + " = " + header.getValue());
    }
    System.out.println(page.asText());

    client.close();
    }
    }









    share|improve this question



























      0












      0








      0







      I want to read the messages received by a websocket in onmessage event. I follow the explanation made in this thread



      I only achieved to add a Listener and be informed when the websocket is created but I don´t know how to read the messages received by the websocket in onmessage event.



      Here is my code:



          public class TestBet365Socket {
      public static void main(String args) throws Exception {


      /* turn off annoying htmlunit warnings */
      java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);



      WebClient client = new WebClient(BrowserVersion.CHROME);
      client.getOptions().setCssEnabled(false);
      client.getOptions().setJavaScriptEnabled(true);
      client.getOptions().setThrowExceptionOnScriptError(false);



      client.getInternals().addListener(new Listener() {

      @Override
      public void webSocketCreated(WebSocket arg0) {

      System.out.println("Websocket Created " + arg0);

      }
      });



      HtmlPage page = client.getPage("https://mobile.bet365.com/Default.aspx?lng=3");
      client.waitForBackgroundJavaScript(10000);

      List<NameValuePair> response =page.getWebResponse().getResponseHeaders();
      for (NameValuePair header : response) {
      System.out.println(header.getName() + " = " + header.getValue());
      }
      System.out.println(page.asText());

      client.close();
      }
      }









      share|improve this question















      I want to read the messages received by a websocket in onmessage event. I follow the explanation made in this thread



      I only achieved to add a Listener and be informed when the websocket is created but I don´t know how to read the messages received by the websocket in onmessage event.



      Here is my code:



          public class TestBet365Socket {
      public static void main(String args) throws Exception {


      /* turn off annoying htmlunit warnings */
      java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);



      WebClient client = new WebClient(BrowserVersion.CHROME);
      client.getOptions().setCssEnabled(false);
      client.getOptions().setJavaScriptEnabled(true);
      client.getOptions().setThrowExceptionOnScriptError(false);



      client.getInternals().addListener(new Listener() {

      @Override
      public void webSocketCreated(WebSocket arg0) {

      System.out.println("Websocket Created " + arg0);

      }
      });



      HtmlPage page = client.getPage("https://mobile.bet365.com/Default.aspx?lng=3");
      client.waitForBackgroundJavaScript(10000);

      List<NameValuePair> response =page.getWebResponse().getResponseHeaders();
      for (NameValuePair header : response) {
      System.out.println(header.getName() + " = " + header.getValue());
      }
      System.out.println(page.asText());

      client.close();
      }
      }






      java websocket listener message htmlunit






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 22 '18 at 23:25

























      asked Nov 22 '18 at 23:18









      Jorge

      388




      388
























          1 Answer
          1






          active

          oldest

          votes


















          0














          You have to do two things:




          1. implement you own listener


          Create a class that implements org.eclipse.jetty.websocket.api.WebSocketListener. Inside this class you can implement you way of capturing the socket communication.




          1. set the listener


          The method webSocketCreated() gots a WebSocket instance as parameter. Call setWebSocketListener(yourListener) with the listener you have created in the first step.



          Now you are done and your listener will be called every time the websocket gots data.






          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53438991%2freaching-onmessage-websocket-event-htmlunit%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            You have to do two things:




            1. implement you own listener


            Create a class that implements org.eclipse.jetty.websocket.api.WebSocketListener. Inside this class you can implement you way of capturing the socket communication.




            1. set the listener


            The method webSocketCreated() gots a WebSocket instance as parameter. Call setWebSocketListener(yourListener) with the listener you have created in the first step.



            Now you are done and your listener will be called every time the websocket gots data.






            share|improve this answer


























              0














              You have to do two things:




              1. implement you own listener


              Create a class that implements org.eclipse.jetty.websocket.api.WebSocketListener. Inside this class you can implement you way of capturing the socket communication.




              1. set the listener


              The method webSocketCreated() gots a WebSocket instance as parameter. Call setWebSocketListener(yourListener) with the listener you have created in the first step.



              Now you are done and your listener will be called every time the websocket gots data.






              share|improve this answer
























                0












                0








                0






                You have to do two things:




                1. implement you own listener


                Create a class that implements org.eclipse.jetty.websocket.api.WebSocketListener. Inside this class you can implement you way of capturing the socket communication.




                1. set the listener


                The method webSocketCreated() gots a WebSocket instance as parameter. Call setWebSocketListener(yourListener) with the listener you have created in the first step.



                Now you are done and your listener will be called every time the websocket gots data.






                share|improve this answer












                You have to do two things:




                1. implement you own listener


                Create a class that implements org.eclipse.jetty.websocket.api.WebSocketListener. Inside this class you can implement you way of capturing the socket communication.




                1. set the listener


                The method webSocketCreated() gots a WebSocket instance as parameter. Call setWebSocketListener(yourListener) with the listener you have created in the first step.



                Now you are done and your listener will be called every time the websocket gots data.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 25 '18 at 15:42









                RBRi

                1,241269




                1,241269






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53438991%2freaching-onmessage-websocket-event-htmlunit%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Berounka

                    Sphinx de Gizeh

                    Different font size/position of beamer's navigation symbols template's content depending on regular/plain...