NetNative: ВК для работы с сетью

27.02.14

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

Прослушивание UDP-портов, посылка UDP-сообщений, возможность организации UDP-чата, некоторые сетевые команды.
Написана по технологии Native

Скачать файл

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

Наименование Бесплатно
Архив
.zip 608,68Kb ver:1.0.0.1
209
209 Скачать бесплатно

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

Написана по технологии Native, т.е. не требует регистрации в реестре и особых прав пользователя.

В архиве находится файл тестовой базы 1Cv8.1CD, собственно файл ВК NetNative.dll и пара внешних тестовых обработок.

Поключение ВК: 

ПодключитьВнешнююКомпоненту(ПолноеИмяФайлаВК,"NetNative",AddInType.Native);

Создание экземпляра класса:

Сеть =    Новый("AddIn.NetNative.V8Net"); // слева - любая глобальная переменная

МЕТОДЫ ВК:

UDP_Создать(НомерПорта), например: 

СлушаемПорт=Сеть.UDP_Создать(10000);

Ставит UDP-порт на прослушивание.

При получении входящего UDP-сообщения генерирует внешнее событие "UDP_READ",

данные - текст сообщения.

Возвращает номер порта на прослушивании.

Очень важные нюансы:

На одном компьютере невозможно подключить на прослушивание один и тот же порт из разных экземпляров одной и той же программы или разных программ. Поэтому был доработан модуль IdSocketHandle таким образом, чтобы не генерировалось исключение, а занимался следующий по порядку свободный порт. Т.е. при попытке занять уже занятый порт 10000, на прослушивание встанет ближайший по порядку свободный, например, 10001, который и вернет метод UDP_Создать.

Вышеизложенное несколько усложняет создание UDP-чата при использовании на терминале, или при запуске некольких копий 1С на отдельном компьютере. В тестовой базе применен туповато-лобовой вариант: создан справочник СетевыеПользователи, каждому пользователю назначен свой стартовый порт, с интервалом 10 от предыдущего.

Таким образом, для каждого пользователя существут возможность запуска до 10 копий 1С на одном компьютере.

При отсылке UDP-сообщения методом UDP_Сообщение (см. ниже), сообщение посылается на все 10 возможных портов.

Другие варианты обхода проблемы занятых портов: "разруливающая" база на 1С, или "разруливающая" программа с компонентом TIdUDPServer.

UDP_Сообщение (ТекстСообщения,НомерПорта,Компьютер)

ТекстСообщения Компьютер - строки, НомерПорта - число.

Компьютер - Имя или IP, необязательный, если пусто - широковещательное сообщение по всем компьютерам подсети.

Нюанс - при посылке широковещательного сообщения его получат только компьютеры той подсети, где расположен посылающий компьютер,

например, получат компьютеры подсети 192.168.100.ХХХ, и не получат компьютеры подсети 192.168.200.ХХХ.

Поэтому лучше указывать конкретный Компьютер.

IP2Name(IP) - возвращает имя компьютера по IP-адресу.

Name2IP(Имя) - возвращает IP-адрес по имени компьютера.

Пинг(Компьютер,ИнтервалОжидания) - возвращает Истина или Ложь.

Компьютер - имя или IP-адрес, строка

ИнтервалОжидания - число, мс, необязательный, по умолчанию 2500

СетевойПользователь() - возвращает сетевое (не 1С-кое) имя пользователя.

ШифроватьСтроку(Строка), ДешифроватьСтроку(Строка) - возвращает соответственно зашифрованную и расшифрованную строки. Значение одной и той же шифрованной строки всегда различно, дешифровка - однозначна.

Примечание: в моей базе используется для шифрования UDP- команд службам (на всякий случай)

Задержка(Интервал), мс. - ненагружающая задержка выполнения.

Таймер(Интервал), мс. - устанавливает таймер.

При срабатывании таймер генерирует событие "MAIN_TIMER_EVENT"   

Свойство

ИнтервалТаймера - считывает/устанавливает интервал таймера

MD5Файла(ПолноеИмяФайла) - вычисляет MD5 содержимого указанного файла.

Примечание: я использую для определения изменился ли список всех файлов exe на компьютере с установленной службой.

БоковаяПанель(Ширина)

Устанавливает левую панель на MDI-окно. Только для толстого клиента

Следующие методы только для установленной в толстом клиенте боковой панели:

ДобавитьСтрокуВПанель(Строка) - добавляет строку в панель.

ОчиститьПанель() - очищает весь текст в панели.

Прогресс(Позиция) - устанавливает позицию прогресс-бара в боковой панели.

СохранитьСодержимоеПанели(ИмяФайлаДляСохранения) - сохраняет содержимое панели в указанный файл


ВК сеть компонента

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    54041    9    69    

46

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1126    3    4    

3

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

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

2400 руб.

04.05.2018    47298    124    66    

67

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

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3598    3    0    

5

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77515    72    257    

191

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

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

3000 руб.

12.05.2020    28655    138    100    

91

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

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

14.01.2025    1830    bayselonarrend    10    

44

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

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

04.12.2024    4720    kovalevdmv    26    

75
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. wunderland 203 24.02.14 12:01 Сейчас в теме
Просто и понятно - как для (тупых) меня :). В копилку...
2. Abadonna 3969 24.02.14 12:43 Сейчас в теме
(1) wunderland, спасибо, именно "просто и понятно" я и хотел ;)
3. CheBurator 2693 01.03.14 03:15 Сейчас в теме
4. wondermaker 21.03.14 04:04 Сейчас в теме
Хм. А применить сие дело к работе с именованными каналами (named pipes) можно?
На сервере работает или как многие другие только на клиенте?
5. Abadonna 3969 26.03.14 18:59 Сейчас в теме
(4) wondermaker,
На сервере работает
В выходные перевожу одного клиента на 1с-сервер - клиент, вот и проверю. Не на чем было проверять...
6. zarius 158 15.04.14 18:28 Сейчас в теме
Есть в планах сделать полноценного клиента для tcp-сервера из этой ВК?
Чтобы можно было подключаться с серверу по адресу:порту и слушать ответы от него (к примеру в двоичных данных).
7. fd13 28.01.16 13:11 Сейчас в теме
Присоединюсь к предыдущему вопросу: будет ли TCP-сервер?
8. swolf256 01.06.16 09:51 Сейчас в теме
(7) fd13, Автор, к сожалению, уже давно не топчет эту планету
10. chemezov 48 04.09.19 08:42 Сейчас в теме
Охренеть какая зачетная штука
11. andy32 07.10.21 11:03 Сейчас в теме
Не работает на x64 сервере ((
12. von_de 5 16.02.22 17:23 Сейчас в теме
Не работает, начиная с версии 8.3.16.
13. tolianrus 17.02.23 11:36 Сейчас в теме
Если кто в курсе где взять аналогичное работающее, напишите в личку... (надо отправлять сообщения по tcp/udp)
Оставьте свое сообщение