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


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

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

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

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

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

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

и 2 функции:

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

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

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

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

6 Comments

  1. BigB

    Подписался

    Reply
  2. oleg_km

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

    Reply
  3. AleSSandre

    (2) oleg_km, (3) Serginio, несомненно, .NET — мощная вещь, но один минус — необходимость регистрации DLL с правами администратора.

    Необходимо было обойтись без этого 🙂

    Reply
  4. Serginio

    (4) Если ты посмотришь на вторую ссылку то там кроссплатформенный .Net Native.

    Ну а так нужно зарегистрировать всего одну библиотеку.

    Reply
  5. Serginio

    Кстати про регистрацию без прав администратора Регистрация ActiveX-DLL без прав администратора (UAC включен)

    Можно выгрузить нужную ветку и заменить HKEY_LOCAL_MACHINE на HKEY_CURRENT_USER

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *