TCPClient Внешняя компонента(Native API) + Пример работы с Asterisk

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

TCP client с поддержкой синхронных/асинхронных сокетов + пример реализации.

TCP client с поддержкой синхронных/асинхронных сокетов, получения данных в отдельном потоке и отправка их 1с в виде событий.

 

Свойства:

  • _PID/_ИДПроцесса(только чтение) - ид текущего процесса
  • _TID/_ИДПотока(только чтение) - ид текущего потока
  • _Loging/_ВестиЛог(чтение и запись) - ведение лога
  • _SendingEvents/_ОтправлятьСобытия(чтение и запись) - отправлять внешние события 1с
  • _EventBufferDepth/_РазмерОчередиСообщений(чтение и запись) - размер очереди обработки сообщений, если сообщение приходит в заполненную очередь, оно удаляется
  • _LogFile/_ЛогФайл(чтение и запись) - имя файла лога
  • RecvThID/ПотокПрослушивания(только чтение) ид потока прослушки(0 если потока не создан)
  • Server/Сервер(только чтение) - IP сервера к которому подключены
  • Port/Порт(только чтение) - порт подключения
  • Asynchronus/Асинхронный(только чтение) - флаг истина: асинхронный, ложь: синхронный
  • Connected/Подключен(только чтение) - состояние подключения
  • RecvMode/ПолучениеВОтдельномПотоке(только чтение) - флаг истина: в потоке, получение в виде внеш. событий, ложь: получение с помощью метода Получить().

Методы:

  • Строка _Type/_Тип(любое значение) - возвращает тип переданного значения
  • Строка _Properties/_Свойства(0) - список свойств компоненты
  • Строка _Methods/_Методы(0) - список методов компоненты
  • Булево _ClearLog/_ОчиститьЛог(0) - очистка лог-файла
  • Строка _GetLastError/_ПоследнаяОшибка(0) - представление последней ошибки, GetLastError + GetErrorDescription
  • Булево Connect/Подключиться(IP:строка,Порт:число,Асинфронный:булево,отдельныйПоток:булево) - подключение к сокету
  • Булево Disconnect/Отключиться(0) отключение
  • Число(целое) Send/Послать(данные: строка) - отправка строки в сокет, возвращает кол-во отправленных байт(-1 при ошибке)
  • Строка Recv/Получить(0) - получение строки из сокета
  • Булево Delay/Пауза(милисек: число) - приостанавливает поток на указанное время(мс)

Обмен сообщения происходит в ASCII + перекодировка для 1с.

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

Наименование Файл Версия Размер
Обработка пример
.epf 178,84Kb
08.11.13
62
.epf 1.0.0.0 178,84Kb 62 Скачать
Компонента
.dll 211,50Kb
08.11.13
47
.dll 1.0.0.0 211,50Kb 47 Скачать
Исходник
.7z 26,59Kb
18.08.15
27
.7z 26,59Kb 27 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Алексей Ко (Жолтокнижниг) 231 13.11.13 23:23 Сейчас в теме
а какого никто комментов не пишет, я знаю что есть косяки, да я выпил %)
но нужны пожелания
2. Леонид Стасюков (stilet) 49 01.11.14 08:47 Сейчас в теме
Интересно, а компонента будет работать с управляемыми формами?
3. Алексей Ко (Жолтокнижниг) 231 06.11.14 09:47 Сейчас в теме
Точно не знаю, но почему нет, главное чтоб не веб-клиент
4. Александр Синиченко (nytlenc) 67 03.04.15 08:27 Сейчас в теме
Вещь очень нужная! Сделайте поддержку x64 серверов! Чтобы компоненту можно было подключить на сервере и производить подключение с помощью выполнения на стороне сервера регламентного задания без участия пользователя. Тогда ей просто цены не будет!!!
5. Алексей Ко (Жолтокнижниг) 231 03.04.15 16:47 Сейчас в теме
(4) nytlenc, Нет мотивации на выполнение вашего пожелания. Возможно будет новый проект по интеграции с астериск, но там сервер x32. А просто так тратить время, такой возможности у меня нет. Так что увы.
6. Алексей Ко (Жолтокнижниг) 231 03.04.15 16:48 Сейчас в теме
(4) nytlenc, Могу исходники дать, но с условием, что доработка появится на ИС.
7. A-tomic (A-tomic) 26.11.15 17:25 Сейчас в теме
А что вот такие сообщения могут значить - "TCPClient : Recv: Recived mode: inThread."?
8. Павел Королев (fd13) 28.01.16 13:15 Сейчас в теме
Версию под Х64 я даже приобрел бы для личных нужд...
9. legzzi Пол (legzzi) 01.03.16 00:26 Сейчас в теме
как с вами связаться? требуется внедрить в УТ10.3
10. Алексей Шачнев (saa@kuzov.org) 04.03.16 14:16 Сейчас в теме
(8) fd13, скажите, а какой сценарий ее использования может быть на windows x64? Для меня основная ценность в генерации внешних событий, что на сервере не работает, а клиент x64 только под linux.
11. alexey mir (unduty) 12.04.16 23:24 Сейчас в теме
Как удалось сделать асинхронный режим? как удалось победить ошибку "Использование синхронных методов на клиенте запрещено!" ?
12. Алексей Ко (Жолтокнижниг) 231 13.04.16 11:50 Сейчас в теме
(11) unduty, Асинхронно работает сама компонента (в несколько потоков) и пушит события в 1с. Это никак не относится к асинхронности самой 1с
13. Александр Кузнецов (kuzz) 09.07.16 14:53 Сейчас в теме
Добрый день! Объясните пожалуйста в двух словах как пользоваться?
14. Алексей Ко (Жолтокнижниг) 231 25.07.16 10:51 Сейчас в теме
(13) kuzz, Это обработка пример, ее основное назначение показать, как пользоваться компонентой, а также анализ событий/действий Астериска.
На закладке настройки заполняем параметры подключения к астериску, нажимаем подключиться. А дальше по закладкам смотрим инфу, нажимаем позвонить(указав/выбрав нужный номер) при желании.
15. Слава (SlavaVNL) 8 22.08.16 09:00 Сейчас в теме
(14) Жолтокнижниг, исходный код открыт?
16. Алексей Ко (Жолтокнижниг) 231 22.08.16 13:00 Сейчас в теме
(15) SlavaVNL, В файлах есть исходники
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа