Я новичок в веб-сокетах и ​​не могу понять, как получить доступ к @ServerEndpoint - PullRequest
0 голосов
/ 06 октября 2019

Каким образом я могу запустить аннотированный класс конечной точки @ServerEndpoint в среде начальной загрузки java, чтобы получить доступ к моей конечной точке? Потому что этот способ (фрагмент кода) не соответствует моим потребностям.

 @ServerEndpoint(value = "/server")
public class WSServer {

    @OnOpen
    public void onOpen(Session session) {
       ...
    }

    @OnMessage
    public void onMessage(Session session, String msg) {
        ...
    }

    @OnClose
    public void onClose(Session session, CloseReason closeReason) {
        ...
    }

    @OnError
    public void error(Session session, Throwable error) {
       ...
    }
}

Я видел примеры с чем-то вроде этого, здесь он работает в основном методе

    public class WebSocketServer {
        public static void main(String[] args) {
            runServer();
        }

        public static void runServer() {
            Server server = new Server("localhost", 8025, "/ws", WSServer.class);
            try {
                server.start();
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                System.out.print("Please press a key to stop the server.");
                reader.readLine();
            } catch (Exception e) {
                throw new RuntimeException(e);
            } finally {
                server.stop();
            }
        }
}

Есть ли другой способ запустить @ServerEndpoint, чтобы получить доступ к нему, кроме как ввызов его из основного метода ... чтобы использовать его как контроллер или т. д.?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...