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

04.04.21

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Мне нужна была внешняя 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С:Предприятие 8 1C:Бухгалтерия Платные (руб)

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

5084 руб.

17.09.2018    41252    118    128    

120

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

В современных корпоративных решениях на платформе 1С:Предприятие 8.3 всё чаще возникает потребность в визуальном моделировании и автоматизации бизнес-процессов с использованием нотации BPMN 2.0. Стандартные средства платформы не предоставляют полноценного редактора BPMN, однако интеграция открытой библиотеки bpmn-js позволяет реализовать интерактивное моделирование бизнес-процессов непосредственно в 1С. В статье рассмотрены архитектура решения, пошаговая инструкция по сборке библиотеки из исходников для WebKit, а также примеры программного взаимодействия между 1С и JavaScript.

03.04.2026    2152    SultanovStas    8    

21

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

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

14.01.2025    6824    bayselonarrend    17    

54

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

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

04.12.2024    11794    kovalevdmv    29    

83

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

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

26.01.2024    12028    starik-2005    40    

49

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

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

22.11.2023    8509    147    ivan1703    26    

45
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
(5) а что случилось?
7. пользователь 29.11.24 13:47
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация