Компонента работает в асинхронном режиме "Запрос-Ответ", при этом выполняется стабильное удержание подключения с сервером (как в случае TCP). Выполняется контроль ошибок на всех этапах работы ВК, возможность указания файла для ведения логов работы клиента WSS.
В поставку входит внешняя обработка, пример подключения и обмена данными с внешней компонентой. Все необходимые комментарии и разъяснения приведены в модуле формы внешней обработки. Обработка выполнена на упр. формах.
Подходит для таких разработок как: обмен с виртуальными АТС, или таким облачным сервисом как — "Мои звонки", обмен с сайтами статистики и т.д. (все где используется wss протокол).
Технология внешних компонент Native API поддерживается с версии платформы 8.2, рекомендуемая версия для работы 8.3. Релиз версий не играет роли и не привязан к работе самой ВК. Поддерживается только x86 платформа!
25.03.19
Добавлено свойство (и параметр в методе) "origin" — для специфических подключений;
Добавлен объект "Прокси" — для подключения к wss через прокси-сервер (метод "УстановитьПрокси" или через свойства), подробности в комментариях обработки-примера
Причины купить
Поддержка и помощь разработчика при внедрении
Достоинства
- Простота в использовании (подключении);
- Высокая скорость обмена;
- Исключены ошибки в работе компоненты.
Нашел способ работать с WebSocket из 1С используя хтмл поле, надо применить фикс:
Вот код для теста:
Показать
(1) Как вариант, но не совсем то… просто отправить строку и вывести ответ, да, а получать постоянные события (буферизируемые), потому-как их может быть много (ответов).
(2) Какие методы поддерживает компонента? можно более детальное описание?
(3) Конечно!
Методы:
1. Подключить(Домен, Порт, Параметры, TLS, ИмяЛогФайла):
Домен — (строка) сервер wss;
Порт — (число) номер порта;
Параметры — (строка) например: «/login.php?domain=domain.com&apikey=jsefagielfegfiufeg»…
TLS — (булево) принудительное включение защищенного соединения TLS;
ИмяЛогФайла — (строка) полный путь и имя к лог файлу (если пустая строка, не ведется).
2. Отключить()
3. Отправить(Данные):
Данные — (строка) отправляемые данные.
Свойства (устанавливаются только при не активном соединении):
1. ГлубинаБуфераСобытий — (число) буфер событий «Внешнее событие» в 1С
2. Домен — (строка) установка свойства «Домен»
3. Порт — (число) установка свойства «Порт»
4. Параметр — (строка) установка строки параметра (см. выше)
События приходящие «ВнешнееСобытие» (Источник — «WssExt»):
1. Событие — «Ошибка», Данные — текст ошибки;
2. Событие — «Подключено», Данные — IP адрес сервера;
3. Событие — «Отключено», Данные — код состояния;
4. Событие — «Сообщение», Данные — текст строки ответа на запрос отправки
Исправлены ошибки для подключений по SSL (TLS), добавлено свойство TLS (изменения доступны только при отключенном состоянии)
Покажите, пож-ста, манифест
(6) манифест для добавления в архив макета?
манифест для добавления в архив макета?
(5)
<?xml version=»1.0″ encoding=»UTF-8″?>
<bundle xmlns=»http://v8.1c.ru/8.2/addin/bundle»>
<component os=»Windows» path=»phonet.dll» type=»native» arch=»i386″/>
<component os=»Windows» path=»phonet.dll» type=»native» arch=»x86_64″/>
</bundle>
(6) прошу прощения, в манифесте не то имя файла компоненты, но структура та-же ))
При подключении к нашему сервису выходит сообщение
Ошибка. Error Decoding Header: Switching Protocols
Дайте документацию …
На тестовых примерах не работает.
(11)Такая ошибка может быть из-за шифрования, если у вас защищенное соединение используйте свойство TLS, перед установкой соединения. И в инструкции к установке (файла поставки) сказано «Если используется вариант подключения по SSL (TLS), библиотеки libeay32 должны быть скопированы в папку установки 1С (bin)»
(11)
Методы:
1. Подключить(Домен, Порт, Параметры, TLS, ИмяЛогФайла):
Домен — (строка) сервер wss;
Порт — (число) номер порта;
Параметры — (строка) например: «/login.php?domain=domain.com&apikey=jsefagielfegfiufeg»…
TLS — (булево) принудительное включение защищенного соединения TLS;
ИмяЛогФайла — (строка) полный путь и имя к лог файлу (если пустая строка, не ведется).
2. Отключить()
3. Отправить(Данные):
Данные — (строка) отправляемые данные.
Свойства (устанавливаются только при не активном соединении):
1. ГлубинаБуфераСобытий — (число) буфер событий «Внешнее событие» в 1С
2. Домен — (строка) установка свойства «Домен»
3. Порт — (число) установка свойства «Порт»
4. Параметр — (строка) установка строки параметра (см. выше)
5. TLS — защищенное соединение (https)
События приходящие «ВнешнееСобытие» (Источник — «WssExt»):
1. Событие — «Ошибка», Данные — текст ошибки;
2. Событие — «Подключено», Данные — IP адрес сервера;
3. Событие — «Отключено», Данные — код состояния;
4. Событие — «Сообщение», Данные — текст строки ответа на запрос отправки
(11)Если что-то не получиться, дайте ссылку на сервис и параметры авторизации, я протестирую и скажу в чем причина
Хорошую штукенцию наваяли ! Может пригодится.
(15)Так как то спонтанно получилось, писал под заказчика для софт-фона, и как оказалось альтернативы и аналогов нигде нет, вот и решил запилить универсал для людей…
(16) Сколько соединений она тянет одновременно на рабочих проектах ?
(17)у меня клиент, под которого изначально писал компоненту, 10 человек работают в софт-фоне (работающем на этой компоненте) проблем нет! Суть в том что компонента подключается под каждым пользователем на клиенте, хотя можно и на сервере…
(17)а если вы про триды (потоки), то она задумана как однопоточная, создается один экземпляр клиента веб-сокет, хотя можно и переделать под многопоточность! ))
А в оригинальной разработке (исходной)https://infostart.ru/public/808432/ реализован механизм телефонных линий внутри самой компоненты, код на паскале работет все равно быстрей чем в 1С 😉
добрый день, вопрос
при подключении можно задавать значение параметра origin ?
добрый день!
есть ли возможность подключиться через прокси?
При подключении через Proxifier выдает сообщение
Ошибка. Исключение, по причине: Error connecting with SSL.
EOF was observed that violates the protocol
(22)надо подумать…
(23)напишите сюда, какие параметры подключения вы задаете
(22)возможность есть, надо доработать, ждите… сообщу
Добрый день. Скажите первая обработка для самой платформы, а вторая я так понимаю клиент для wss?
Для постоянного прослушивания нужно делать регламентное задание или она способна получать от сервера сообщение? Мне нужно для мои звонки
И скажите если купить код открыт?
(27) Добрый! обработка там одна (как пример)
(27) для «мои звонки» подходит, уже был клиент из Питера ) там только надо не забыть библиотеки SSL положить куда надо (они в комплекте)
Хорошо. А принцип у нее какой? Запрос ответ. Или все таки она может слушать.
У меня просто идея какая. Мне нужно получить входящий звонок и передать в срм
(30) стабильное соединение по wss — естественно и отправка и прослушка, асинхронное соединение, смотрите пример в обработке, все данные приходят как внешнее событие
Хорошо. Спасибо. Буду пробовать. Очень необходимо. Хотел писать клиента на Java. Но нашел вас))) если будут вопросы можно будет к вам обратится?
(32)конечно! Но с мои звонки 100% все будет работать ) Да и с любым wss сервером
(33)а какую качать? Первую или вторую?
(34)ну вам же не нужны исходники, вам нужна готовая ) поэтому за 6
Вот хоть бы где нибудь было сказано, что это просто враппер от компоненты esegece! И библиотеку esegece нужно покупать отдельно!
(36)я ее покупал для написания компоненты, если вы хотите использовать исходники, пожалуйста покупайте…
(37) Так у вас даже sgcWebSockets.dll нет в комплекте
(38)а с чего вы взяли что она нужна?
(38)вот именно что это не обертка sgcWebSockets.dll!!
Объясните проблему вообще, или так, «-» чисто поставить на публикацию?
(40) потому что мне нужен был пример исходников, который обрабатывает WebSocket. А у Вас его нет!
Просто перенаправление функций NativeAPI 1С в сторонюю библиотеку не является таким примером.
(40) ещё и продаёте по такой цене, как будто что то ценное…
(41) т. е. вам нужно написать самому на Win API свой вєб сокет и не морочить мне голову! Вы хотели что бы я вам за 10 СМ выложил низкоуровневый код написанный на WinAPI, вы на Delphi писали вообще, компоненты и классы не используете? так может на асме тогда уже лучше!
(44)ааа, понятно, конкуренция, можно ставить минусов сколько угодно, но внятного объяснения я так и не дождался, чем не устраивает…
(45) ответил, куда уж внятнее.
(46)никаких сторонних библиотек не используется в случае использования конечного продукта (кроме бесплатных ssl входящих в комплект), вы же хотите использовать исходники, в описании к файлу исходников указано, что необходимо…
(48) Описание файла видите только Вы в редакторе, никому это не видно при скачивании.
(49)это я уже понял, сожалею (
(19) Многопоточность реализована?
Подскажите, пожалуйста, компонента только под Windows? 1С работает и под Линуксом, и меня интересует именно эта платформа.
Если под Линуксом не работает, можете ли собрать под Линукс?
Если работает или можете собрать — какие зависимости?
(52)можно собрать, но проверить не на чем
(51)нет
(51)если сильно нужно, можно добавить ))
(53)нужно собрать тогда) Для проверки можно поднять любую свежую сборку одной из вариантов Убунту (Лубунту, Кубунту) на виртуалке например, да и собирать же тоже под линуксом. Платформа 1С под линукс, тоже вроде не проблема.
Но могу проверить и я)
Внесите в код ограничение на период работы например (или любое другое, запрос ввода пароля при создании объекта wss или типа того — для теста пороль ввести не проблема, а использовать в продакшене уже не получится — дежурить у компа каждый раз это не работа)) ), для тестовой версии «под меня».
Если все ОК или исправите в случае если не все — я куплю вашу компоненту.
Если сами протестируете и скажете что работает — я поверю на слово).
Выше спрашивал про реализацию многопоточности — в моем случае будет создаваться несколько фоновых заданий 1С, это отдельные процессы 1С с точки зрения выполнения. В каждом таком фоновом задании будет создаваться соединение wss и читаться поток. Если текущая версия это позволяет, то отлично. Если нет — тогда «если сильно нужно, можно добавить )) » — нужно.
Чтобы было понятно применение — пишу торгового робота для работы с биржей, данные с биржы в режиме реального времени поступают по wss, по каждой паре котировки — свой поток, и отслеживать надо сразу несколько, в идеале все (но конечно в реальности будет от 2 до 10 максимум потоков). Если будет рабочая компонента — все значительно упростится, ибо в противном случае придется устанавливать соединение и принимать поток в файл средствами линукса, а файл уже парсить из 1С.
(56) Да, и забыл — установка соединения wss возможна «на сервере» в терминах 1С?
(56)под линух соберу, но не так быстро, в течении недели, работы много, на счет многопоточности — если у вас отдельное ФЗ то вообще ничего не нужно дорабатывать, НО!!! — данные приходят как внешнее событие, т.е. асинхронно, тут надо думать, компонента подключится на сервере, но событиям не куда будет приходить
(56)тут как вариант — дописать немного компоненту и делать обратное подключение через КОМ к 1С (с заведомо предоставленными параметрами) и вызывать вашу серверную процедуру (в глоб модуле с внешн соед) и туда сообщение пихать…
Главное — соберите под линукс) Клиент-сервер — это я обойду. Ну буду снимать внешнее событие и тут же отправлять на сервер тоже фоновым заданием, чтобы успевать. Главное чтобы работало чтение потока с wss
(59)В общем жду весточек о готовности под линукс.
+7 916 218-4162 Александр — вайбер, вотсап, телега — маякните по готовности. Тут на сайте через неделю могу и не зайти — дел то полно.
(60)ОК
(62) Как дела? Линукс сборка будет?