Вход | Регистрация


Как отправить запрос HTTP без ожидания ответа

Как отправить запрос HTTP без ожидания ответа
Я
   SRM1C
 
18.05.18 - 17:25
Вечер добрый!
Собственно, как отправить запрос, а затем идти дальше, не ждать ответ?

Соединение = Новый HTTPСоединение(СтрокаЗапроса);
            ФайлTXT = ПолучитьИмяВременногоФайла("txt");
            Соединение.ОтправитьДляОбработки("", ФайлTXT);
 
 
   Юрий Лазаренко
 
1 - 18.05.18 - 17:27
(0) На "той стороне" получай данные, проверяй на валидность и сразу возвращай ответ, что, мол, все нормально, инструкции получены и приняты к обработке. А потом данные обрабатывай в фоне.
   cons74
 
2 - 18.05.18 - 17:28
(0) помести свой код в фоновое
   Юрий Лазаренко
 
3 - 18.05.18 - 17:29
Ну или если нет возможности повлиять на "ту сторону", то запускай функцию, которая отправляет запрос, в фоне. То есть, функцию в фоне запустил и или дальше. Функция запрос отправила и ждет результата. Дождалась - сделала с результатом что надо. А ты в удобное время за этим результатом зайдешь.
   SRM1C
 
4 - 18.05.18 - 17:29
(1) Суть такая, что запрос отправился, дальше мне не интересно, что там будет в ответе, сам запрос по результату зайдет в мой web-сервис, где обработается как надо, а здесь меня интересует только отправка запроса.
   Юрий Лазаренко
 
5 - 18.05.18 - 18:23
(4) Тогда вариант (3): запускай запрос в фоновой процедуре, она все что надо отправит и сколь угодно долго сможет ждать ответа от сервера (ну или отвалится по таймауту, если не дождется), не влияя на работу алгоритма, который эту процедуру запустил.
   Redkiy
 
6 - 18.05.18 - 19:28
(4) А как ты узнаешь, что запрос вообще дошел до адресата?
200 по любому нужно получить в ответ. Даже без обработки, как гарантия что "посылка получена".
   Cyberhawk
 
7 - 18.05.18 - 20:14
(6) Можно на стороне БД отправителя запроса логировать исходящие запросы. На стороне БД получателя логировать входящие запросы. Далее сопоставлять на любой стороне (лазая в другую БД), что было отправлено и что было принято.
   Сияющий в темноте
 
8 - 18.05.18 - 22:28
В любой системе это называется асинхронные запросы.
если под виндой,то можно прикрутить ServerXmlHttpRequest,он так умеет и вызывает событие.
Насколько я помню,1с умеет обрабатывать события от COM-серверов.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует