![](/img/trans.png)
[英]java applet freezes browser and way to communicate between javascript and applet
[英]using jssc and java applet to communicate to Serial with JS but browser freezes
我正在嘗試使用Java小程序與JS進行串行端口通信。 我對Java不太有經驗,但是當不在applet或不使用js時,我設法使jssc正常運行。 而且Ive還能夠在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>
我對所有這些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:我知道這不是答案,但是我還不能發表評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.