169 похожих чатов

Делаю чат на grpc, на основе кода из одной статьи: stream.forEach((notification)

{
var message = Message(notification.chatResponse.message);
onReceivedSuccess?.call(message);
}).then((_) {
// raise exception to start listening again
throw Exception('stream1 from the server has been closed');
}).catchError((e) {
// обработка ошибки
onReceivedError?.call(e);
// повторное подключение
}
То есть - если соединение закрыто сервером, то считается, что стрим завершил работу (ошибки нет), и мы искусственно кидаем ошибку, чтобы попасть в блок catchError.
Мне это кажется костылем. Есть ли более адекватные способы реконнекта?

21 ответов

25 просмотров

А вы чего GetStream не используете? Они же в 9 быстрее, чат тормозить будет

Жирно)

Sergio-Molchanovsky Автор вопроса

Я на глупости не отвечаю.

Стикер

Стикер

как тебе в кратце жирписи? интереснее старого доброго реста? нашел какиет о плюсы для себя?

Sergio-Molchanovsky Автор вопроса

Сначала я хочу, чтобы забанили @DimastaEminem , который только что меня назвал мудаком, потом буду впечатлениями о gRPC делиться.

А что смешного? Это правда, я лично тестил

И как тестил?)

сперва сделал на машинном, потом через обычные стримы, потом через гетстримы, вывод такой: 3 место машинный(по скорости), 2 место обычные, 1 место гетстримы, невооружённым глазом видно где быстре как б

есть цифры и подробности тестового кода?

гетстримы быстрее чем машинный код, какие тебе еще цифры и подробности нужны?)

я же сказал какие, зачем ерничать, когда можно посмотреть?

Ладно, не буду тебя отвлекать больше)

.а можно уточнить что подразумевается под машинным?

что значит на машинном? асемблерные инструкции или что это за машинный код?

Нули единицы

то есть чувак реально фигачил через 01010111010?

Судя по сообщению да

Ну логичнее, что это ассемблер

Ну машинный Нули единицы же

Похожие вопросы

Обсуждают сегодня

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Карта сайта