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

OSCHINA-MIRROR/chinasoft2_ohos-bizsocket

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md
public class SampleClient extends AbstractBizSocket {
    public SampleClient(Configuration configuration) {
        super(configuration);
    }

    @Override
    protected PacketFactory createPacketFactory() {
        return new SamplePacketFactory();
    }
}
  1. Запустить client, используя j2se в качестве примера, написать метод main:
public static void main(String[] args) {
    SampleClient client = new SampleClient(new Configuration.Builder()
            .host("127.0.0.1")
            .port(9103)
            .readTimeout(TimeUnit.SECONDS, 30)
            .heartbeat(60)
            .build());

    client.getInterceptorChain().addInterceptor(new Interceptor() {
        @Override
        public boolean postRequestHandle(RequestContext context) throws Exception {
            LoggerUtil.i("Обнаружен запрос postRequestHandle: " + context);
            return false;
        }

        @Override
        public boolean postResponseHandle(int command, Packet responsePacket) throws Exception {
            LoggerUtil.i("Получен пакет postResponseHandle: " + responsePacket);
            return false;
        }
    });

    try {
        // Соединение
        client.connect();
        // Запуск повторного подключения после разрыва соединения
        client.getSocketConnection().bindReconnectionManager();
        // Включение пульсации
        client.getSocketConnection().startHeartBeat();
    } catch (Exception e) {
        e.fillInStackTrace();
    }

    // Регистрация уведомления для получения уведомлений от сервера
    client.subscribe(client, SampleCmd.NOTIFY_PRICE.getValue(), new ResponseHandler() {
        @Override
        public void sendSuccessMessage(int command, ByteString requestBody, Packet responsePacket) {
            LoggerUtil.i("Команда: " + command + ", тело запроса: " + requestBody + ", ответный пакет: " + responsePacket);
        }

        @Override
        public void sendFailureMessage(int command, Throwable error) {
            LoggerUtil.i(command + ", ошибка: " + error);
        }
    });

    // Отправка запроса один-к-одному
    String json = "{\"productId\": \"1\", \"isJuan\": \"0\", \"type\": \"2\", \"sl\": \"1\"}";
    client.request(new Request.Builder().command(SampleCmd.CREATE_ORDER.getValue()).utf8body(json).build(), new ResponseHandler() {
        @Override
        public void sendSuccessMessage(int command, ByteString requestBody, Packet responsePacket) {
            LoggerUtil.i("Команда: " + command + ", тело запроса: " + requestBody + ", прикрепление: " + "ответный пакет: " + responsePacket);
        }

        @Override
        public void sendFailureMessage(int command, Throwable error) {
            LoggerUtil.i(command + ", ошибка: " + error);
        }
    });

    // Если вы хотите использовать rxjava, также поддерживается, предоставляется класс, подобный сервису retrofit, создаваемому через динамический прокси
    BizSocketRxSupport rxSupport = new BizSocketRxSupport.Builder()
                .requestConverter(new JSONRequestConverter())
                .responseConverter(new JSONResponseConverter())
                .bizSocket(client)
                .build();
    SampleService service = rxSupport.create(SampleService.class);

    JSONObject params = new JSONObject();
    try {
        params.put("pageSize", "10000");
    } catch (JSONException e) {
        e.fillInStackTrace();
    }
    // Пример rxjava, использование rxjava2 требует изменения Subscriber
    service.queryOrderList(params).subscribe(new Subscriber<JSONObject>() {
        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {

        }

        @Override
        public void onNext(JSONObject jsonObject) {
            LoggerUtil.i("Ответ rx: " + jsonObject);
        }
    });

    // Блокировка основного потока, предотвращение завершения программы, можно представить как Looper в ohos
    while (true) {
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.fillInStackTrace();
        }
    }
}

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

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

Введение

Обрыв соединения и повторное подключение, один к одному запросы, уведомления, липкие уведомления, объединение последовательных запросов, обработка очереди абстрактных фрагментов запросов (AbstractFragmentRequestQueue), кэш, перехватчики, поддержка RxJava, предоставление функционала, аналогичного Retrofit, поддержка использования как RxJava, так ... Расширить Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

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

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