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

Парни всем привет, подскажите пожалуйста. Работаю с одним чудом, под

названием "Битрикс", делаю чаты используя его апи.

При отправке сообщения юзером я отправляю запрос на сервер, который должен мне вернуть id сообщения. Когда я получаю этот id я его подмениваю вместо моего рандомного.

В этот момент сервер оповещает сокет и сокет отправляет мне это сообщение, когда я получаю сообщение с сокета я чекаю наличие этого айдишника в списке сообщений, если оно есть - не добавляю его. Ну это весь процесс, грубо говоря.

И вот через раз-два срабатывают случаи, что сокет возвращает быстрее данные, чем запрос и из-за этого я не успеваю подменить айдишник и сообщение дублируется у меня локально. Я запринтил время DateTime.now, когда я дождался запрос (1) и когда пришел ответ с сокета (2)
1) 2023-07-25 18:08:46.852911
2) 2023-07-25 18:08:46.845082

Возможно ли вообще такое? Или все-таки это моя ошибка?

8 ответов

14 просмотров

возможно, почему нет

С похожим сталкивался, для вебсокета фильтровать можно попробовать по senderId ! = myId

Никита- Автор вопроса

Задержка вот в 10мс спасает, но это пиздец вроде бы

Почему же? Просто не пропускаю сообщение из вебсокета, оно и так через апи дублируется. Если правильно понял кейс

Никита- Автор вопроса
Ivan Sidorov
Почему же? Просто не пропускаю сообщение из вебсок...

А если я с двух устройств сижу? На втором не отобразятся мои сообщентя что-ли?

Никита
А если я с двух устройств сижу? На втором не отобр...

Можете копить сообщения от своего аккаунта в буфере, пока идет отправка сообщений. Вариантов много.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта