gifts2017

Сервер TCP/IP NativeAPI на Delphi

Опубликовал Александр Мешков (AleSSandre) в раздел Программирование - Внешние компоненты

Внешняя компонента NativeAPI на Delphi запускает прослушивание заданного порта по протоколу TCP/IP.

При создании внешней компоненты использовались материалы:

ВК NativeAPI на Delphi и FreePascal (автор: Александр Соломатин ) и ВК для 1С:Предприятие 8.2 NativeAPI на Delphi (автор: Андрей Акулов).

Работа сервера организована на неблокируемых сокетах winsock.

Компонента имеет 2 свойства:

  • Порт - собственно сам порт, который будем прослушивать
  • Таймаут - таймаут отключения бездействующих сессий (в секундах)

и 2 функции:

  • Слушать() - начинает слушать указанный порт. Полученные данные компонента возвращает в виде строки во Внешнее событие 1С.
  • Отключиться() - обрывает все существующие соединения и отключает прослушивание.

Критика приветствуется, но ногами сильно не пинать, т.к. это по сути первый опыт создания как самих внешних компонент, так и работы в Delphi :)

SocketVK.epf - пример работы компоненты. Обработка запускает сам сервер, событие на порт генерируйте любым другим приложением.

Source.rar - Исходники.

Скачать файлы

Наименование Файл Версия Размер
SocketVK.epf 2
.epf 78,57Kb
10.11.16
2
.epf 78,57Kb Скачать
Source.rar 2
.rar 10,70Kb
10.11.16
2
.rar 10,70Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. BigB (BigB) 14.11.16 20:43
2. Олег (oleg_km) 16.11.16 10:33
Да, велосипеды с квадратными колесами. Всего лишь нужно подключить .NET по методу Сергея Смирнова и вся мощь .NET к твоим ногам и не надо будет на каждый чих делать ВК.
4. Александр Мешков (AleSSandre) 16.11.16 17:36
(2) oleg_km, (3) Serginio, несомненно, .NET - мощная вещь, но один минус - необходимость регистрации DLL с правами администратора.
Необходимо было обойтись без этого :)
5. Сергей Смирнов (Serginio) 16.11.16 17:58
(4) Если ты посмотришь на вторую ссылку то там кроссплатформенный .Net Native.
Ну а так нужно зарегистрировать всего одну библиотеку.
6. Сергей Смирнов (Serginio) 17.11.16 14:29
Кстати про регистрацию без прав администратора Регистрация ActiveX-DLL без прав администратора (UAC включен)

Можно выгрузить нужную ветку и заменить HKEY_LOCAL_MACHINE на HKEY_CURRENT_USER
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа