Native внешняя компонента для передачи/получения по UDP (теперь с Base64)

04.04.21

Разработка - Разработка внешних компонент

Внешняя компонента Native-API для организации передачи с использованием UDP.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ДемоБаза с компонентой + исходники компоненты
.zip 410,42Kb ver:2.0
17 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Мне нужна была внешняя Native компонента для работы с UDP. Есть вот компонента //infostart.ru/public/261418/ но она работает плохо, в фоновом задании, например не хочет работать. Да и кажется, что на инфостарте как-то не хватает компонент с таким функционалом. Поэтому решил наваять сам.

Компонента построена на Native-API (не требует регистрации в реестре), с использованием найденной на инфостарте бесплатного модуля для дельфи от 2011 года //infostart.ru/public/88060/. Некоторые методы моей компоненты остались оттуда. Компонента использует блокирующие сокеты (для UDP я не стал заморачиваться за асинхронные), с использованием функций из winsock.h для отправки sendto(..) и стандартный компонент Delphi - IdUDPServer для получения. При получении данных компонента генерирует внешнее событие.

Компонента тестировалась на самописной конфигураций (УФ) и еще на УТ10.3.

Включение компоненты:   

УстановитьВнешнююКомпоненту("ОбщийМакет.MyUDP");
ПодключитьВнешнююКомпоненту("ОбщийМакет.MyUDP", "MyUDP");
глКомпонента = Новый("AddIn.MyUDP.ExtentionUDP");

Свойства:

  • ListeningPort, ПрослушиваемыйПорт - при запуске прослушки тут будет находится используемый порт. При остановке он скидывается в ноль.
  • SendingPortПортОтправки. Порт отправки имеет небольшое значение, обычно он не нужен, но компонента его сразу включает и он тут же готов отправлять. 
  • UseEncodeToBase64, ИспользоватьКодированиеBase64. Использовать кодировку Base64 при приеме. Это полезно, когда получаем нетекстовые данные, преобразование в строку в таких случаях выдает неверные данные, кодировка помогает этого избежать.

Методы:

  • GetAddressIP(), ПолучитьАдресIP()
  • GetHostName(), ПолучитьИмяКомпьютера()
  • ListenPort(ПрослушиваемыйПорт), ПодключитьОжидание(ПрослушиваемыйПорт) - При получении данных компонента генерирует внешнее событие с источником MyUDP, событие Data. 
  • StopListen(), ПрекратитьОжидание()
  • SendData(IP, Порт, Сообщение), ОтправитьДанные(IP, Порт, Сообщение)
  • Sleep(Миллисекунд), Пауза(Миллисекунд) - Эта функция была в исходном примере ВК дельфи, предполагается, что она не грузит процессор.

Методы ПодключитьОжидание(), ПрекратитьОжидание(), ОтправитьДанные() в ответ выдают либо Истина, если компонента считает, что всё в порядке, либо строку с описанием ошибки.

P.S. Помните, что UDP не гарантирует прием сообщений.

Добавка от 04.04.2021 - Добавлено Base64.

Вступайте в нашу телеграмм-группу Инфостарт

внешняя компонента dll UDP net

См. также

Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5000 руб.

12.05.2020    31208    142    100    

98

Разработка внешних компонент Телефония, SIP Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

5160 руб.

04.05.2018    49296    126    68    

70

Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

5000 руб.

17.09.2018    38768    116    128    

119

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    4368    bayselonarrend    14    

52

Разработка внешних компонент Программист 1С v8.3 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    8277    kovalevdmv    27    

82

Разработка внешних компонент Программист 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    8540    starik-2005    38    

60

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    9619    starik-2005    40    

49

Инструментарий разработчика Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    6762    132    ivan1703    26    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. 353615 16.03.21 09:02 Сейчас в теме
Сергей приветствую-а как связаться с вами -есть вопрос
2. 353615 11.04.21 10:41 Сейчас в теме
Благодарю автора-молодчина!
Щелкнул на 2*2!
3. darky1984 05.08.22 10:15 Сейчас в теме
Работает на Windows_x_64 (1С 8.3 сервер);?
4. axae 110 05.08.22 18:46 Сейчас в теме
5. darky1984 19.08.22 09:32 Сейчас в теме
Сергей, как можно с вами связаться?(4)
6. axae 110 19.08.22 19:19 Сейчас в теме
7. пользователь 29.11.24 13:47
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация