jooby에서 WebSocket을 사용해보십시오.

5243 단어 websocket자바jooby
jooby로 WebSocket 통신을 시도합니다.

전제 조건


  • jooby의 QUICK START이 종료되었습니다

  • ① 클라이언트용 HTML 준비



    public 디렉토리 바로 아래에 ws.html을 배치합니다.
    ※아래는 어디까지나 샘플이므로, 최저한의 메소드 밖에 기재하고 있지 않습니다.

    ws.html
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>WebSocketサンプル</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
    $(function(){
        var ws = new WebSocket("ws://localhost:8080/ws");
        ws.onmessage = function(message){
            $("#log").prepend(message.data + "<br>");
        }
        $("#message").keyup(function(e){
            ws.send($(this).val());
        });
    })
    </script>
    </head>
    <body><input type="text" id="message"><div id="log"></div></body>
    </html>
    
    

    ②서버측의 처리 추가



    메시지를 수신하고 소스로 반환하면서 브로드캐스트하는 간단한 구성입니다.

    App.java
        {
            assets("/ws.html", "ws.html");
            ws("/ws", ws -> {
                ws.onMessage(msg -> {
                    ws.send("send : " + msg.value());
                    ws.broadcast("broadcast : " + msg.value());
                });
            });
        }
    

    ③ 브라우저에서 여러 탭으로 http://localhost:8080/ws.html로 이동하여 텍스트 상자에 메시지를 입력해 봅니다.



    각 탭에서 자신이 보낸 메시지와 브로드 캐스트가 모두 표시되므로 제대로 작동하는 것 같습니다.

    탭 1





    탭 2





    마지막으로



    단, 이만큼의 기술량으로 간단한 WebSocket 통신이 가능하기 때문에 매우 편하고 알기 쉽다고 생각합니다.
    다만, 옛날부터 Java에 익숙한 사람이 보면, 별로 Java의 코드로 보이지 않지만 w

    좋은 웹페이지 즐겨찾기