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с.
а какого никто комментов не пишет, я знаю что есть косяки, да я выпил %)
но нужны пожелания
Интересно, а компонента будет работать с управляемыми формами?
Точно не знаю, но почему нет, главное чтоб не веб-клиент
Вещь очень нужная! Сделайте поддержку x64 серверов! Чтобы компоненту можно было подключить на сервере и производить подключение с помощью выполнения на стороне сервера регламентного задания без участия пользователя. Тогда ей просто цены не будет!!!
(4) nytlenc, Нет мотивации на выполнение вашего пожелания. Возможно будет новый проект по интеграции с астериск, но там сервер x32. А просто так тратить время, такой возможности у меня нет. Так что увы.
(4) nytlenc, Могу исходники дать, но с условием, что доработка появится на ИС.
А что вот такие сообщения могут значить — «TCPClient : Recv: Recived mode: inThread.»?
Версию под Х64 я даже приобрел бы для личных нужд…
как с вами связаться? требуется внедрить в УТ10.3
(8) fd13, скажите, а какой сценарий ее использования может быть на windows x64? Для меня основная ценность в генерации внешних событий, что на сервере не работает, а клиент x64 только под linux.
Как удалось сделать асинхронный режим? как удалось победить ошибку «Использование синхронных методов на клиенте запрещено!» ?
(11) unduty, Асинхронно работает сама компонента (в несколько потоков) и пушит события в 1с. Это никак не относится к асинхронности самой 1с
Добрый день! Объясните пожалуйста в двух словах как пользоваться?
(13) kuzz, Это обработка пример, ее основное назначение показать, как пользоваться компонентой, а также анализ событий/действий Астериска.
На закладке настройки заполняем параметры подключения к астериску, нажимаем подключиться. А дальше по закладкам смотрим инфу, нажимаем позвонить(указав/выбрав нужный номер) при желании.
(14) исходный код открыт?
(15) SlavaVNL, В файлах есть исходники
А скажите, только у меня 1С валится при попытке ее подключить?
Причем валится только x64 версия клиента.
Я понимаю что компонента создавалась еще до выпуска x64-версии.
Но может есть кто-то кто пересобрал ее так что бы не валилась 1С?
(17) У меня нет планов дорабатывать, так что извините.
(18) Зачетная штука! Неделю искал!!!