Компонента разработана по технологии создания внешних компонент COM в среде Lazarus.
Тестировалась на платформе 1С релиза 7.70.027.
Протокол UDP позволяет обмениваться сообщениями через интернет между любыми компьютерами, имеющими на время связи постоянный внешний IP-адрес и порт. В локальной сети UDP имеет преимущество перед TCP: более оперативную передачу сообщений между компьютерами. Можно последовательно передавать сообщения на разные компьютеры без предварительного установления связи. Каждый UDP-сокет может работать как сервер.
Методы объекта внешней компоненты:
Сообщить(Сообщение, Адрес, Порт) – передает сообщение на указанный адрес IP «ххх.ххх.ххх.ххх» или «имя хоста» и порт. При отсутствии подключения инициирует его как клиент.
Слушать(Порт) – создает сервер UDP и начинает прослушивать указанный порт.
ПередатьФайл(ИмяФайла, Адрес, Порт) – отправляет запрос на передачу файла генерируя уникальный ИДФайла, при поступлении от другой стороны подтверждения на прием отправляет файл.
ПолучитьФайл(ИмяФайла, Адрес, Порт, ИДФайла) – отправляет подтверждение на прием файла с указанным ИД, затем принимает файл.
ПередатьФайлВнеш(ИмяФайла, Адрес, Порт) – сразу отправляет файл.
ПолучитьФайлВнеш(ИмяФайла, Адрес, Порт) – устанавливает режим ожидания файла, следующее сообщение от указанного адреса будет принято и сохранено как файл «ИмяФайла».
Свойства объекта (все только для чтения):
МаксРазмерСообщения – максимальная величина сообщения или файла, передаваемого за 1 раз. Зависит от сети, к которой подключен сокет. Для локальной сети – 65 Кб. Фактическая максимальная величина сообщения может быть меньше, т.к. ограничивается характеристиками сети на протяжении всего маршрута между двумя сокетами.
Режим – клиент или сервер.
СокетИД – уникальный номер объекта «AddIn.UDP» в текущей сессии 1С. В одной сессии можно создавать несколько объектов, каждый из которых может использовать один сокет.
НашПорт – прослушиваемый порт, для сервера задается пользователем, для клиента –операционной системой.
Подключен – 1 или 0, готов к получению сообщений.
ТотПорт - порт, от которого получено последнее сообщение.
ТотАдрес – IP адрес, от которого получено последнее сообщение.
Ошибка – последняя ошибка приема-передачи.
Состояние – ожидание приема или передачи файла.
В архиве для скачивания:
- исходники и сама компонента UDP_77.dll;
- более подробное описание методов, свойств и использования компоненты;
- конфигурация 1С, которая демонстрирует все возможности компоненты. Некоторые моменты показаны на скриншотах.