Newer
Older
IrisServerWebSocket / src / main / java / com / ntlab / irisserver / websockets / HelloWorldWebSocket.java
Kota on 15 Dec 2022 1 KB 動作確認
package com.ntlab.irisserver.websockets;

// 5秒に1回HelloWorldを送るデモ
//@ServerEndpoint("/hello-websocket")
//public class HelloWorldWebSocket extends TextWebSocketHandler {
//    private static final Queue<Session> sessions = new ConcurrentLinkedQueue<>();
//
//    static {
//        ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
//        service.scheduleWithFixedDelay(HelloWorldWebSocket::broadcast, 5, 5, TimeUnit.SECONDS);
//    }
//
//    @OnMessage
//    public String onMessage(String message) {
//        System.out.println("WebSocketで受信したメッセージ/ " + message);
//        return "WebSocketでメッセージを正常に受信しました!";
//    }
//
//    @OnError
//    public void onError(Throwable th) {
//        System.out.println("WebSocketエラーが発生/ " + th.getMessage());
//    }
//
//    @OnOpen
//    public void onOpen(Session session) {
//        System.out.println("WebSocketセッション確立");
//        sessions.add(session);
//    }
//
//    @OnClose
//    public void onClose(Session session) {
//        System.out.println("WebSocketセッション終了");
//        sessions.remove(session);
//    }
//
//    public static void broadcast() {
//        Date now = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//
//        sessions.forEach(session -> {
//            session.getAsyncRemote().sendText("HelloWorld! : " + formatter.format(now));
//        });
//    }
//
//}