Доступ к COM-порту на стороне клиента в веб-программировании Java

Я разрабатываю веб-страницу с использованием jsp и html, где мне нужно для чтения / записи с / на устройство, подключенное к системе клиента, которые получают доступ к веб-странице. Устройство - это последовательное устройство, которое в Windows подключено как COM1(например). Я прошел через различные доступные варианты. Я нашел это, которое служит моей цели. Я начал изучать JNLP для того же самого. Я импортировал проект и внес изменения в соответствии с моими потребностями. (Этот проект использует jssc.jar). Я сгенерировал банку (jSSC-Terminal.jar) и подписал самогенерируемым ключом. Графический интерфейс загружается правильно, но я не могу получить доступ к последовательному порту на компьютере клиента. Вот мой файл запуска jnlp.jnlp

   <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp href="launch.jnlp" spec="1.0+"   codebase="http://192.168.1.33:8080/abc" 
    href="launch.jnlp">
    <information>
        <title>jSSC-Terminal</title>
        <vendor>scream3r</vendor>
        <homepage href="scream3r.org"/>
        <description>jSSC-Terminal</description>
        <description kind="short">jSSC-Terminal</description>

    </information>
<update check="background"/>
<security>
<all-permissions/>
</security>
    <resources>
<j2se version="1.5+"/>
<jar href="jSSC-Terminal.jar" main="true"/>

<jar href="jssc.jar" download="eager"/>



</resources>
    <applet-desc height="500" main-class="applet.Main" name="Main" width="700">

    <param name="separate_jvm" value="true"/>
<param name="draggable" value="true"/>
</applet-desc>
</jnlp>

Вот мой HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
          <title>jSSC-Terminal</title>
            <style type="text/css">
              body {
                margin-left: 10px;
                margin-top: 10px;
                margin-right: 10px;
                margin-bottom: 10px;
              }
        </style>
        </head>
  <body>
  <applet code="applet.Main" archive="http://192.168.1.33:8080/abc/jSSC-Terminal.jar, http://192.168.1.33:8080/amar/lib/jssc.jar" width="700" height="500">
      <param name="separate_jvm" value="true"/>
      <param name="draggable" value="true"/>
          </applet>
        </body>
</html>

Я поместил все эти файлы в каталог Tomcat, как показано ниже

/Tomcat/webapps/abc/launch.jnlp
/Tomcat/webapps/abc/jSSC-Terminal.jar
/Tomcat/webapps/abc/index.html
/Tomcat/webapps/abc/lib/jssc.jar

Я не могу получить список SerialPort при запуске от имени jnlp. Пожалуйста, помогите мне с исправлением, если доступно. Или есть какие-то альтернативные вещи, доступные в JSP. Спасибо и С уважением.

Редактировать:

Наконец-то узнал спасибо. Я заменил свой тег апплета и включил расположение jnlp, как показано ниже:

<applet code="applet.Main" archive="http://192.168.1.33:8080/abc/jSSC-Terminal.jar,    http://192.168.1.33:8080/abc/lib/jssc.jar,"http://192.168.1.33:8080/abc/test.jnlp" width="700" height="500">
      <param name="separate_jvm" value="true"/>
      <param name="draggable" value="true"/>
          </applet>
        </body>

1 ответ

Решение

Ваш <applet> тег не ссылается на файл.jnlp. Вы предоставляете доступ к COM-портам в файле jnlp, но он не используется. Вы должны либо использовать файл jnlp, либо установить разрешения в <applet> тег.

Ваша ссылка на пример jssc - это страница, которая показывает, как использовать файл jnlp из <applet> тег.

Я сделал то, что вы пытаетесь сделать с помощью приложения Java Webstart и библиотеки PureJavaComm. Могу поспорить, что то, что вы делаете, сработает, как только вы получите правильные разрешения. Но если вы хотите посмотреть, как я это настрою, файл jnlp находится здесь: https://bitminter.com/client/bitminter.jnlp (живое приложение)

Другие вопросы по тегам