Я настоятельно рекомендую вам пересмотреть решение Zebra websocket на этом этапе.
Лучшим решением по-прежнему может быть решение для мини-веб-серверов.
Мой опыт с раствором WebSocket Зебра: фона:
Первоначально я попытался создать Node.js решение (я читал в нескольких местах, что любой сервер выполнимо). Но после нескольких неудачных попыток подключения даже после того, как Zebra подписал сертификаты - и принтер/сервер прошел успешный процесс рукопожатия - он все еще не прошел с загадочной ошибкой, которая при просмотре связана с принтером, пытающимся проверить, что конкретный Используется версия Tomcat/сервер !!! ???
Я получил ответ от разработчика Zebra, который разрабатывает .NET-решение, но также не может заставить его работать и ждет дополнительной информации от инженеров Zebra, прежде чем они смогут завершить решение. Они сказали, что отправят через информацию, когда они у нее есть, и надеялись получить ее в течение недели (больше недели - еще не повезло).
Итак, я решил собрать сервер Tomcat - единственный пример, с которым работает Zebra ... Я получил пример сервлета, но начал получать новые проблемы с сертификатом (так как я изменил серверы/домены и т. Д.) я думал обо всем неуклюжем процессе - и узнал, что один нарушитель сделки - очень строгий процесс аутентификации и подписи ssl слишком рискован.
E.g. Допустим, у вас есть 100 клиентов, полагающихся на это решение. Если у вас НИКОГДА возникают проблемы с сертификатом (например, смена имени домена, изменение настройки сервера или аннулирование или истечение срока действия сертификата), тогда ВСЕ 100+ клиентов не имеют своего принтера. Но вы не можете просто исправить это самостоятельно - исправить/сгенерировать новый сертификат и т. Д. Процесс повторного подписания медленный и зависит от внешних ресурсов! (это ручной процесс Zebra btw - вы отправляете по электронной почте, после чего вы остаетесь в ожидании значительного времени, прежде чем сотрудник Zebra ответит подписанным сертификатом).
Это будет означать, что все клиенты более 100 клиентов без значительного времени не пользуются услугами принтера, но у вас нет NO OPTION, но для того, чтобы Zebra подписал ваш сертификат. Для меня это неприемлемый риск - (решение websocket НЕ должно быть связано с сертификатом, подписанным Zebra - после того, как вы устанавливаете принтер YOUR (или ваш клиент), вы затем настраиваете принтер, чтобы указать EXACT имя/адрес домена для него подключиться к).
С вашим решением для мини-серверов - если у клиента есть проблемы - это затронет только одного клиента, и вы НЕ полагаетесь на внешнюю компанию, чтобы подписывать сертификаты, чтобы устранить проблему.
Вот выявленные проблемы и связанные с ними риски.
ПРОБЛЕМА 1) Очень плохо реализована - я не могу (и они также не могут) подключить ее к стандартному серверу, кроме ОЧЕНЬ конкретной установки Tomcat !!! УРОВЕНЬ РИСКА: НИЗКИЙ - то есть первоначальная стоимость и временная нагрузка - но как только работающий постоянный риск этой проблемы, вызывающий дальнейшую проблему, минимален. РИСКИ: a) Ограничивает разработку до конкретных серверов и технологий. b) Увеличение времени и затрат на первоначальную разработку/тестирование.
ПРОБЛЕМА 2) Плохо документировано - я идентифицировал (и Zebra проверил) несколько ошибок в документации - документация также разбросана с важной информацией, брошенной в труднодоступный файл readme.txt, отдельный для остальной части документации. УРОВЕНЬ РИСКА: НИЗКИЙ - то есть первоначальная стоимость и временная нагрузка - но как только работающий постоянный риск этой проблемы, вызывающий дальнейшую проблему, минимален. РИСКИ: a) Замедляет начальную разработку. b) Увеличение времени и затрат на первоначальную настройку/разработку.
ПРОБЛЕМА 3) Проверка подлинности принтера/ssl плохо спланирована и реализована. Он включает несколько этапов - чрезвычайно ограничительный и требует медленного процесса подписания зебры, который создает постоянный риск. УРОВЕНЬ РИСКА: ВЫСОКО - Т.е. это причина, по которой мы не можем работать с этим решением. РИСКИ: a) Ограничивает разработку до конкретных серверов и технологий. b) Замедляет начальное развитие. c) Увеличение времени и затрат на первоначальную настройку/разработку. d) Создает постоянный риск высокого уровня для проекта следующим образом: ---> Идея состоит в том, что компания будет полагаться на это решение для подключения к принтеру, поэтому любой потенциальный простой может вызвать ОСНОВНОЕ БИЗНЕС-РАЗРУШЕНИЕ. ---> ЛЮБОЙ из следующих сценариев будет означать, что ВСЕ клиенты, полагающиеся на это решение для веб-рассылки, будут работать без принтеров в течение нескольких дней, пока будут организованы новые сертификаты Zebra: ---> 1) Срок действия сертификата истекает, 2) Сертификат недействителен , 3) Сервер перемещается, 4) изменяется информация о домене, 5) настройка сервера Tomcat изменена (из-за того, как принтер проверяет определенные настройки Tomcat/сервера) ---> Кроме того, указанные выше 5 сценариев известны только на основе мое тестирование до сих пор - могут быть другие возможные ограничения, которые могут означать неудачи сертификатов, с которыми я еще не сталкивался.
Реферат: Проблема IMO 3 представляет собой неприемлемый риск, и следующие две вещи должны произойти до того, как я переосмыслил веб-сайты Zebra. 1) Им нужна надлежащая документация о том, как веб-порты подключаются к серверу, поскольку он скрыт, и даже сотрудники Zebra в настоящее время находятся в неведении. 2) Им необходимо устранить некоторые ограничения на аутентификацию - чтобы вы могли исправить любую проблему без трудоемкого взаимодействия Zebra.
Jason !!! ты мужчина! Я провел 2 часа по телефону с зеброй, и они не поняли, о чем я говорю. У меня нет проблем с решением, которое позволяет мне получать информацию от точки A до точки B без ПК. Я думаю, что буду покупать один из них как можно скорее. Знаете ли вы о какой-либо документации на веб-сайтах. из моих кратких запросов я вижу, что он еще не стандартизирован. Я хотел бы использовать PHP на моем сервере. Похоже, я бы запрограммировал приложение на LinkOS для связи с моим сервером через websocket. Любая дополнительная информация, которую вы могли бы предоставить, очевидно, чрезвычайно ценна. – Mark
Я считаю, что веб-сайты считаются включенными под зонтиком HTML5. С принтерами Zebra все соединения с веб-разъемами надежно защищены через TLS, что облегчает любые проблемы безопасности на вашем конце. Учебники Websocket честно не нужны для вас, так как Zebra SDK абстрагирует все настройки websocket от вас. Вам просто нужно настроить принтер, чтобы указать на ваше веб-приложение (которое использует Zebra SDK). SDK написан на Java, и я не знаю, как интегрировать его с PHP. Я только использовал SDK самостоятельно с Apache Tomcat и веб-приложением Java. –
Чтобы быть понятным - принтер Zebra предлагает множество технологий, в том числе возможность запрограммировать сам принтер для исходящей связи (спросите своего реселлера о ZBI). Я не знаю, может ли ZBI связываться через websockets. В случае, если ZBI не поддерживает связь с websocket, ваш принтер будет фактически «подчиненным» принтером, который только делает то, что ему говорят. Он ничего не сможет спросить у сервера; скорее, серверу придется принудительно передать информацию на принтер. С websockets это тривиально. Но без ZBI принтер не может быть запрограммирован на запрос данных. –