我试图使用java applet与JS通信串口。我对java没有太多的经验,但我设法让jssc在不在applet或使用js时运行得很好。我也能够在applet和JS传递函数和变量之间进行交流。但我无法理解为什么每次我尝试加载包含jssc信息的serialCom.class小程序时我的浏览器会冻结
这是我的java
import jssc.SerialPort;
import jssc.SerialPortException;
import java.applet.*;
import java.awt.*;
public class serialCom extends Applet{
SerialPort serialPort;
public void connect(){
serialPort = new SerialPort("/dev/pts/2");
try {
serialPort.openPort();
serialPort.setParams(9600, 8, 1, 0);
serialPort.writeBytes("Hello Again".getBytes());
serialPort.closePort();
}
catch (SerialPortException ex){
System.out.print(ex);
}
}
public void disconnect(){
//SerialPort serialPort = new SerialPort("/dev/pts/1");
try {
//serialPort.openPort();
//serialPort.setParams(9600, 8, 1, 0);
//serialPort.writeBytes("Hello Again".getBytes());
serialPort.closePort();
}
catch (SerialPortException ex){
System.out.print(ex);
}
}
public void writeSerial(){
//SerialPort serialPort = new SerialPort("/dev/pts/1");
try {
//serialPort.openPort();
//serialPort.setParams(9600, 8, 1, 0);
serialPort.writeBytes("Hello Again".getBytes());
//serialPort.closePort();
}
catch (SerialPortException ex){
System.out.print(ex);
}
}
}
这是我的HTML
<!DOCTYPE html>
<html>
<head>
<title>
Will It Work
</title>
</head>
<body>
<div>
<button id="test" onclick="connectTest();">Connect</button>
<button id="test" onclick="writeTest();">Write</button>
<button id="test" onclick="readTest();">Read</button>
<button id="test" onclick="disconnectTest();">Disconnect</button>
<applet code="serialCom.class" id="myApplet" width="0" height="0"></applet>
<script>
var connectTest = function(){
alert("Im Connected");
myApplet.connect();
}
alert("Connect");
var disconnectTest = function(){
alert("Im Disconnected");
myApplet.disconnect();
}
alert("Disconnect");
var writeTest = function(){
alert("Im Writing");
myApplet,writeSerial();
}
alert("Write");
var readTest = function(){
}
alert("Read");
</script>-->
</div>
</body>
</html>
答案 0 :(得分:0)
我对所有这些java applet编程都很陌生,但似乎我们正在尝试做类似的事情。我不知道你的代码究竟出了什么问题,但我发现jss-bridge帮助我通过javascript / java-applet实现了串口通信。
您可以使用svn
下载完整代码svn checkout http://java-simple-serial-connector.googlecode.com/svn/trunk/ java-simple-serial-connector-read-only
在js_terminal文件夹中,您会找到一个index.html,它模拟浏览器上与终端通信的终端。它的效果非常好。 您可能还需要降低Java安全设置或自签名小程序。
我希望它有所帮助!
pd:我知道这不是答案,但我还不能发表评论。