Введение
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 )