Android Websocket Client

В поисках лучшего клиента для WebSokets под Android нашел вот такую замечательную библиотеку: nv-websocket-client

Все найденные библиотеки не соответствовали требованиям: https, keep-alive, кроме этой.

Эта заработала с «пол оборота».

Об этом небольшая статья.

Разработал ее товарищ Takahiko Kawasaki.

Реализует следующие возможности:

  • complies with RFC 6455 (The WebSocket Protocol),
  • works on Java SE 1.5+ and Android,
  • supports all the frame types (continuation, binary, text, close, ping and pong),
  • provides a method to send a fragmented frame in addition to methods for unfragmented frames,
  • provides a method to get the underlying raw socket of a web socket to configure it,
  • provides a method for Basic Authentication,
  • provides a factory class which utilizes javax.net.SocketFactory interface,
  • provides a rich listener interface to hook web socket events,
  • has fine-grained error codes for fine-grained controllability on errors,
  • allows to disable validity checks on RSV1/RSV2/RSV3 bits and opcode of frames,
  • and supports HTTP proxy, especially «Secure WebSocket» (was) through «Secure Proxy» (https).

Давайте рассмотрим небольшой пример работы с этим сокет клиентом

Подключаем в gradle

Работать будем через https.

К примеру, нужно подключиться к чату:

Для поддержки соединения устанавливаем соответствующий интервал пинга.

Для удобства реализуем SocketListner через наследование от адаптера:

Полученные сообщения мы можем переварить в json и действовать согласно инструкции. =) В конкретном примере смотрится тип сообщения и передается в соответствующее событие через EventBus.

На этом все. Надеюсь это уменьшит время Ваших поисков рабочего android websocket client.

label, , ,

4 комментария

  1. Дмитрий 09.11.2015 Ответ
  2. Алексей АлексейAuthor 09.11.2015 Ответ
  3. Дмитрий 10.03.2016 Ответ

Добавить комментарий