Есть ли какой-либо Socket.IO-клиент для Java? До сих пор я нашел только официальный клиент Socket.IO, который доступен только для JavaScript, и socket.io-java, который является только сервером.
Java-клиент socket.io
Ответы (6)
На данный момент ограниченные возможности:
звучит правильно, насколько WebSockets идут. Конкретный проводной протокол Socket.IO, похоже, еще не реализован на Java, поэтому вам, возможно, придется иметь дело с этим самостоятельно.
Судя по http://socket.io в разделе "Поддерживаемые транспорты", это может быть несколько разных транспортных протоколов:
WebSocket, Adobe® Flash® Socket, длительный опрос AJAX, многокомпонентная потоковая передача AJAX, Forever Iframe, опрос JSONP
Итак, вопрос в том, что ваш сервер поддерживает?
С точки зрения Java-клиентов проще всего использовать WebSockets.
Если вам нужна реализация на стороне клиента, ознакомьтесь с java-socket.io.client. Я сделал его несколько месяцев назад, и я полагаю, что некоторые люди разветвили его и обновили до последней версии: https://github.com/clwillingham/java-socket.io.client
Взгляните на 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 самостоятельно.
Есть и другая библиотека Jetty: http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html