Java-клиент socket.io

Есть ли какой-либо Socket.IO-клиент для Java? До сих пор я нашел только официальный клиент Socket.IO, который доступен только для JavaScript, и socket.io-java, который является только сервером.


person Teo Klestrup Röijezon    schedule 25.04.2011    source источник


Ответы (6)


На данный момент ограниченные возможности:

звучит правильно, насколько WebSockets идут. Конкретный проводной протокол Socket.IO, похоже, еще не реализован на Java, поэтому вам, возможно, придется иметь дело с этим самостоятельно.

person Femi    schedule 25.04.2011
comment
Наконец, я выбрал Java-WebSocket от TooTallNate и сам реализовал вещи, специфичные для Socket.IO. - person Teo Klestrup Röijezon; 26.04.2011
comment
Хороший. Хотелось бы услышать, как это сработало для вас: вы используете Java и на клиенте, и на сервере, или java на клиенте и что-то вроде Node.js на сервере? - person Femi; 26.04.2011
comment
Я использую Java в настольном клиенте, JavaScript (конечно) в веб-клиентах и ​​Python на сервере. - person Teo Klestrup Röijezon; 26.04.2011
comment
@ DontCare4Free Вы открыли исходный код своего Java-клиента Socket.io? - person Kevin; 31.07.2011
comment
@Kevin, github .com/dontcare4free/blservermanager-client/blob/master/src/, хотя у меня были сообщения о том, что он не слишком хорошо работает с официальным сервером node socket.io. - person Teo Klestrup Röijezon; 31.07.2011
comment
Я не могу скомпилировать проект socket.io-java-client с помощью ant. - person Jānis Gruzis; 05.07.2012
comment
Обратите внимание, что клиент Gottox не поддерживает протокол XHR-Transport. - person Erel Segal-Halevi; 12.02.2013

Судя по http://socket.io в разделе "Поддерживаемые транспорты", это может быть несколько разных транспортных протоколов:

WebSocket, Adobe® Flash® Socket, длительный опрос AJAX, многокомпонентная потоковая передача AJAX, Forever Iframe, опрос JSONP

Итак, вопрос в том, что ваш сервер поддерживает?

С точки зрения Java-клиентов проще всего использовать WebSockets.

person Peter Knego    schedule 25.04.2011
comment
Да, сервер поддерживает WebSockets. Однако я не уверен, что socket.io делает какую-то собственную магию или просто подключается напрямую. - person Teo Klestrup Röijezon; 26.04.2011

Если вам нужна реализация на стороне клиента, ознакомьтесь с java-socket.io.client. Я сделал его несколько месяцев назад, и я полагаю, что некоторые люди разветвили его и обновили до последней версии: https://github.com/clwillingham/java-socket.io.client

person clwillingham    schedule 07.10.2011

Вы можете использовать socket.io-client.java.

См. эту ссылку для исходного кода.

Вы также можете найти руководство здесь

person Yaki Klein    schedule 03.03.2015

Взгляните на http://techdroid.kbeanie.com/2011/03/websockets-on-android.html. Мне нужны были только WebSockets, поэтому я также удалил часть WebView, Factory тоже была лишней. Вы можете просто использовать https://github.com/anismiles/websocket-android-phonegap/blob/master/src/com/strumsoft/websocket/phonegap/WebSocket.java и реализовать спецификации SocketIO самостоятельно.

person Geert Weening    schedule 14.03.2012

Есть и другая библиотека Jetty: http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html

person Bjoern    schedule 09.10.2013