-
0
-
0
Добрый день, Дмитрий. Попыталась воспользоваться вашей компонентой, она подключилась. Но на клиенте при отправке сообщения не отрабатывает внешнее событие. В какую сторону копать, что могло пойти не так?
-
0
Добрый день. Наверное самая распространенная, переменную с объектом компоненты не объявили как переменную форму.
//ОбъектКомпоненты должен быть объявлен как переменная формы
&НаКлиенте
Перем ОбъектКомпоненты;
Это нужно чтобы объект компоненты не был удален после открытия порта
-
0
Объявлена, т.к. это написано в статье, которую я прочитала ).
-
0
Компьютеры разные, на котором открыли порт и с которого отправляете сообщение? Айпи адрес и порт правильно указали?
-
0
Вы знаете, наверное я не правильно поняла назначение вашего инструмента. Внешнее событие вы генеруируете сами отправив сообщение на логкальный порт 127.0.0.1. По сути ваш инструмент для обмена между клиентом и серевром 1С. А я хотела его использовать для обращения из 1С к внешнему устройству по протоколу TCP/IP И ожидала во внешнем событии увидеть ответ от этого устройства, на отправленное сообщение. Я теперь верно поняла суть, или что-то недопонимаю опять? Ваш инструмент можно использовать для обращения к внешним устройствам из 1С?
-
0
Внешняя компонента позволяет открыть любой TCP или UDP порт через сокет. Если вы сможете отправить из внешнего устройства по TCP или UDP какое-то сообщение, то 1С сгенерирует внешнее событие.
Также компонента позволяет отправить любое сообщение по TCP или UDP, но ответ от него автоматически не получает.
-
0
Все равно не понимаю. Не пойму следующее - я не правильно использую технологию и по ней отправив сообщение на внешнее устройство, в том случае если устройство отвечает, то 1С сгенерирует внешнее событие, в котором я смогу обработать ответ.
Или ответ от устройства должен быть отправлен так, как в вашей процедуре ТЕСТ
//общий модуль Сервер
Функция Тест() Экспорт
//создание объекта внешней компоненты
ПодключитьВнешнююКомпоненту("Обработка.ВК.Макет.TCP_UDP", "ВК");
ОбъектКомпонентыКлиент = Новый ("AddIn.ВК.TCP_UDP");
ОбъектКомпонентыКлиент.ЭтоTCP = Истина;
ОбъектКомпонентыКлиент.IP = "127.0.0.1";
ОбъектКомпонентыКлиент.Порт = 1111;
и никак иначе? Менять Api устройства я не могу.
В этом случае в этой технологии для меня не хватает метода Читать или Слушать.
Моя задача следующая: отправить json по протоколу TCP из 1С на внешнее устройство подключенное на сервере в сети по технологии Ethernrt и прочить ответ от устройство, также JSON.
Может ли мне ваш инструмент с этим помочь? Или в нем не хватает метода?
-
0
Отправить можно. Получить ответ нет.
-
- #10
- 14.12.2021 08:17
-
Отредактировано: 14.12.2021 08:20:31
0
Купил ВК. Отправляю сообщение, в итоге ничего не отправляется + не видно ни одного пакета, как будто обработка даже не подключилась к IP адресу который я указываю. Как ВК открывает сокет, через winsock?
-
0
Да, через winsock. Вы куда отправляете данные? На внешнее устройство? Скорее всего не будет работать. Это компонента для отправки сообщения с сервера 1С на клиент 1С. То есть на клиенте открывается сокет для прослушивания, а с сервера выполняется подключение к этому сокету.
-
0
Отправить сообщение в Трассир не получится?
-
0
Данной компонентой нет. А есть описание как отправлять сообщения в Трассир? Давно было желание написать полноценный TCP-клиент, но не знал на чем потренироваться.
-
0
https://www.dssl.ru/files/trassir/manual/ru/setup-pos-dsslxml.html вот тут есть пример. Я пытался с помощью wincock отправлять но не получается
-
0
А чем отличается полноценный TCP- клиент от простой отправки через socket?
-
0
Сейчас пытаюсь вот так отправить
SOCKADDR_IN addr;
addr.sin_port = htons( port_ );
addr.sin_addr.s_addr = inet_addr(address_);
addr.sin_family = AF_INET;
SOCKET Connection = socket(AF_INET, SOCK_STREAM, NULL); // TCP socket
if (Connection == INVALID_SOCKET){
return "socket() error: " + std::to_string(WSAGetLastError());
}
-
0
но возвращает ошибку 10061
-
0
Может быть брандмауэр блокирует?
Если ошибка возникает при подключении, то возможно и эта компонента будет работать. Но она не позволяет получить ответ от устройства, только отправить строковые данные.
Устройство пингуется?
-
0
Да, пингуется. Но вот Telnetom не подключается
-
0
Спасибо за компоненту, очень помогла.
-
0
Добрый день. У нас есть драйвер в основной базе (так сказать TCP сервер). Мы можем внедрить Вашу компоненту в мобильное приложение 1С и отправлять запросы на TCP сервер, будет ли работать?
-
0
Добрый день. Только с доработкой компоненты, исходники тоже выложены.
-
0
То есть простую команду типа <"SCN:" + ШК + Символы.ПС> Ваша компонента не сможет отправить?
-
0
Соответственно на ip адрес с необходимым портом
-
0
Компонента может отправить любые строковые данные, в какой кодировке уже не помню. Но она разработана для обычной платформы. Для мобильной потребуется доработка.
-
0
micvant
https://www.dssl.ru/files/trassir/manual/ru/setup-pos-dsslxml.html
Скажите, Вы решили свою проблему? С помощью данной компоненты?
Сейчас решаю аналогичную задачу.
-
0
Если интересует TCP-клиент с возможностью получения ответа от сервера, то смотрите эту разработку https://1clancer.ru/catalog/4751
-
0
Добрый день! Почитал описание компоненты, почитал обсуждение но так до конца и не понял.
У меня есть следующая задача, мне нужно из 1С отправлять текстовые сообщения в стороннее приложение по TCP на определенный IP и порт. Я подключил компоненту, отправляю простое сообщение строку "test". Смотрю с помощью WireShark, что пакеты по TCP приходят, но данные в них нет. В чем может быть причина?
-
- #29
- 09.02.2023 14:57
-
Отредактировано: 09.02.2023 14:57:25
0
..
-
0
Добрый день. Скорее всего дело в кодировке. Данная компонента используется для отправки сообщений из одной 1С в другую 1С, например с сервера на клиента. Если нужен TCP-клиент, то лучше купите эту компоненту https://1clancer.ru/catalog/4751