1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/apexes-wsonrpc

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

Wsonrpc — это основанный на WebSocket JsonRpc, который обеспечивает двустороннее взаимодействие между сервером и клиентом и может быть использован в проектах Android.

Инструкция по установке

Клиент:

<dependency>
  <groupId>net.apexes.wsonrpc</groupId>
  <artifactId>wsonrpc-client</artifactId>
  <version>${version.wsonrpc}</version>
</dependency>

Сервер:

<dependency>
  <groupId>net.apexes.wsonrpc</groupId>
  <artifactId>wsonrpc-server</artifactId>
  <version>${version.wsonrpc}</version>
</dependency>
<dependency>
  <groupId>net.apexes.wsonrpc</groupId>
  <artifactId>wsonrpc-server-support</artifactId>
  <version>${version.wsonrpc}</version>
</dependency>

Использование

Серверная часть:

@MaxSessions(10000)
@ServerEndpoint("/wsonrpc")
public class Jsr356DemoWsonrpcServer {

    private final WsonrpcServerBase serverBase;

    public Jsr356DemoWsonrpcServer() {
        serverBase = new WsonrpcServerBase(WsonrpcConfigBuilder.create()
                .json(new JacksonImplementor())
                .wrapper(new GZIPBinaryWrapper())
                .logger(new SimpleWsonrpcLogger())
                .build());
        serverBase.getServiceRegistry()
                .bind(DemoService.class).toInstance(new DemoServiceImpl())
                .bind(RegisterService.class).toInstance(new RegisterServiceImpl());
    }

    @OnOpen
    public void onOpen(Session session) {
        serverBase.onOpen(WebSockets.createSession(session));
    }

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

    @OnMessage
    public void onMessage(final Session session, final ByteBuffer buffer) {
        serverBase.onMessage(session.getId(), buffer);
    }
}

Пример использования клиента:

String url = "ws://localhost:8080/wsonrpc";
WsonrpcClient client = Wsonrpc.config()
        .wrapper(new net.apexes.wsonrpc.core.GZIPBinaryWrapper())
        .logger(new SimpleWsonrpcLogger())
        .heartbeatSeconds(6, 1)
        .reconnectSeconds(5, 30, 2)
        .pingProvider(() -> String.valueOf(System.currentTimeMillis()).getBytes())
        .client(url);
client.getServiceRegistry().bind(PushService.class).toInstance(new PushServiceImpl(client));
client.setReadyCallback(() -> {
    Wsonrpc.invoker(client)
            .get(RegisterService.class)
            .register(clientId);
});

Комментарии ( 0 )

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

Введение

На основе JsonRpc по WebSocket реализуется двустороннее взаимодействие между сервером и клиентом, которое может быть использовано в проекте Android. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/apexes-wsonrpc.git
git@api.gitlife.ru:oschina-mirror/apexes-wsonrpc.git
oschina-mirror
apexes-wsonrpc
apexes-wsonrpc
master