powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python 3.x websocket client
2 сообщений из 2, страница 1 из 1
Python 3.x websocket client
    #39724881
nuts577
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

Не получается нагуглить как работает websocket-client. Предположим мы подсоединились к серверу и получаем от него сообщение, складываем в массив. Некоторые сообщения могут потребовать длительной (до пары секунд) обработки перед добавлением. Выносить в отдельный тред не хочу по определенным причинам - пока буду обрабатывать в отдельном треде новое сообщение может туда записать и порядок прихода данных сломается.

Вариант 1
Сообщения будут накапливаться в очередь, потом обработаются.
Вариант 2
Обработчик пропустит часть сообщений.

Какой вариант правильный?

С ув.
...
Рейтинг: 0 / 0
Python 3.x websocket client
    #39725225
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nuts577Добрый день,

Не получается нагуглить как работает websocket-client. Предположим мы подсоединились к серверу и получаем от него сообщение, складываем в массив. Некоторые сообщения могут потребовать длительной (до пары секунд) обработки перед добавлением. Выносить в отдельный тред не хочу по определенным причинам - пока буду обрабатывать в отдельном треде новое сообщение может туда записать и порядок прихода данных сломается.

Вариант 1
Сообщения будут накапливаться в очередь, потом обработаются.
Вариант 2
Обработчик пропустит часть сообщений.

Какой вариант правильный?

С ув.


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

автор Выносить в отдельный тред

Вот тут все умерло. Не надо ничего выносить в отдельный тред (без нужды). Надо делать свои запросы к ресурсам асинхронными и код писать соответствующим образом. Асинхронный код подразумевает, что ты отправив запрос на внешний ресурс не "ждешь" ответа, а пока оно там на внешнем ресурсе крутится, можно выполнять какие-то свои задачи. Синхронный код, ждет ответа на каждый запрос и блокирует весь поток вообще пока не придет ответ от блокирующего сервиса.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python 3.x websocket client
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]