Подтвердить что ты не робот

Лучшая реализация java-сервера для socket.io

Я хотел использовать socket.io для переноса данных с сервера на браузер, но проект представляет собой java tomcat one, и в Github реализовано множество реализаций для реализации сервера socket.io. Большинство из них говорят, что они устарели или лучше доступны. Может кто-нибудь предложить мне хорошую реализацию.

И я вижу много демонстрационного и примерного кода о вещании с socket.io. Мое требование состоит в том, чтобы раздвигать разные сообщения для разных клиентов. Может ли кто-нибудь указать мне какую-нибудь хорошую демонстрацию или учебник, посвященный таким материалам?

Спасибо

4b9b3361

Ответ 1

Как автор, я предлагаю попробовать реализацию SocketIO на Java:

https://github.com/mrniko/netty-socketio

Стабильная и готовая lib.

Ответ 2

Мы используем в производстве этот: Socket.IO-Java. Мы настроили его по нашим требованиям. Но в основном случае он работает достаточно хорошо.

Мой коллега поделился индивидуальной версией github. Мы используем Jetty 8, могут возникнуть проблемы с другими контейнерами сервлетов. Кроме того, мы рассматриваем использование только реализации WebSocket, когда XP не поддерживается Microsoft.

Ответ 3

Вы можете попробовать следующее: https://github.com/codeminders/socket.io-server-java

Эта реализация свободно основана на старой библиотеке Socket.IO-Java, упомянутой в других ответах.

Он поддерживает клиентов Socket.IO 1.0+. Транспортировка websocket реализована с помощью Jetty 9, но нет никакой зависимости от Jetty для основной части библиотеки. Не нужно очень сложно реализовать перенос websocket с помощью Tomcat, если это необходимо.

Я попытался сохранить API похожим на API-интерфейс Node.JS Socket.IO. Итак, чтобы отправить сообщение в конкретный сокет, вам нужно позвонить socket.emit()

Вот небольшой фрагмент кода, который вызывается в вашем сервлете SocketIO:

on(new ConnectionListener() {
        public void onConnect(Socket socket)
        {
            try
            {
                socket.emit("welcome", "Welcome to Socket.IO Chat!");
            }
            catch (SocketIOException e)
            {
                socket.disconnect(true);
            }
       }
});