You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Опишите ошибку
Изначально столкнулся с проблемой в winow@Nivanchenko
Некоторые post запросы оставались висеть в статусе pending
В процессе изучения проблемы выяснилось, что winow порционно вычитывает двоичные данные из объекта TCPСоединение.
До конца не разобрался, но похоже, что зависание происходит, если размер буфера, передаваемый для чтения меньше размера двоичных данных.
Если читать двоичные данные без указания размера буфера или увеличить размер буфера, то зависания не происходит.
Воспроизведение ошибки
Для воспроизведления проблемы на голом OneScript сделал следующий скрипт
ТСПСервер=Новый TCPСервер(8081);
ТСПСервер.Запустить();Сообщить("Сервера запущен");РазмерБуфера=1024;ПокаИстинаЦиклСоединение= ТСПСервер.ОжидатьСоединения();Данные= Соединение.ПрочитатьДвоичныеДанные(РазмерБуфера);// <= тут зависаетСообщить(Данные.Размер());
Соединение.ОтправитьСтроку("ok");КонецЦикла;
Опишите ошибку
Изначально столкнулся с проблемой в winow @Nivanchenko
Некоторые post запросы оставались висеть в статусе
pending
В процессе изучения проблемы выяснилось, что winow порционно вычитывает двоичные данные из объекта
TCPСоединение
.До конца не разобрался, но похоже, что зависание происходит, если размер буфера, передаваемый для чтения меньше размера двоичных данных.
Если читать двоичные данные без указания размера буфера или увеличить размер буфера, то зависания не происходит.
Воспроизведение ошибки
Для воспроизведления проблемы на голом OneScript сделал следующий скрипт
Данные в порт кидаю так
Пример данных
При увеличении размера буфера для чтения зависания не происходит.
Во время зависания в диспетчере задач наблюдается такая картина
Окружение
The text was updated successfully, but these errors were encountered: