在Web编程Java中访问客户端的COM端口



我正在使用jsp和html开发一个网页,其中我需要从连接到正在访问该网页的客户端系统上的设备进行读/写。该设备是一个串行设备,在Windows中作为COM1(例如)连接。我浏览了不同的选项。我发现这符合我的目的。我也开始学习JNLP。我导入了该项目,并根据需要进行了更改。(这个项目使用的是jssc.jar)。我生成了jar(jssc Terminal.jar),并用自己生成的密钥签名。GUI加载正常,但我无法访问客户端机器上的串行端口。这是我的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

当作为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>

您的<applet>标记没有引用.jnlp文件。您允许访问jnlp文件中的COM端口,但它没有被使用。您必须使用jnlp文件或在<applet>标记中设置权限。

jssc示例的链接是一个页面,其中显示了如何使用<applet>标记中的jnlp文件。

我已经完成了您尝试使用Java Webstart应用程序和PureJavaComm库所做的操作。不过,我敢打赌,一旦你获得了正确的权限,你正在做的事情就会奏效。但如果你想看看我是如何设置的,jnlp文件在这里:https://bitminter.com/client/bitminter.jnlp(实时应用程序)

相关内容

最新更新