8.3.8.2322, УТП для Украины 1.2.8.7Есть обработочка. В обработке клиентское подключение через "MSWinsock.Winsock". Она есть в сети и она отлично работает, вот фрагмент рабочего кода:
Перем WinsocketClient;
Функция АвторизоватьсяНаСервере() Экспорт
WinsocketClient = Новый COMObject("MSWinsock.Winsock");
WinsocketClient.RemoteHost = "localhost";
WinsocketClient.RemotePort = 12345;
WinsocketClient.Connect();
КонецФункции
У меня в модуле обычного приложения прописана серверная часть сокета которая слушает порт 12345 и принимает подключения.
Это все работает, но стоит убрать в нашей обработке глобальную переменную
Перем WinsocketClient;
,как обработка перестает работать. Очевидно что она осуществляет коннект не сразу а после выполнения процедуры "АвторизоватьсяНаСервере()". А так как переменной нет, "WinsocketClient" убивается сразу по завершении процедуры не успев подключится к серверу.
Зачем я это все излагаю. Дело в том, что мне эту обработку-клиент нужно перенести в серверный модуль 1С. Там функция АвторизоватьсяНаСервере() будет дергатся HTTPСервисом. И там никакого клиента и текущего пользователя нет. А в серверном модуле не может быть глобальных переменных.
Вопрос: Как мне после завершении функции "АвторизоватьсяНаСервере" заставить жить переменную "WinsocketClient", чтобы она осуществила "Connect()"?
P.S Или HTTP-сервис выполняется тоже на клиенте? только-что мысль пришла пока писал...
Сообщение отредактировал Vofka - 18.06.18, 8:09