按照this的问题进行排序,现在我已经有了一个成功的标准(发光二极管开启和关闭,万岁!),现在我还有一个问题。
除了写入设备之外,我还需要从设备读取数据。
我宁愿不要有一个线程坐在那里,每隔50个MS查询一次设备(考虑这个设备将被使用的设置,这可能是使这个工作无需任何与.Net事件相当的Java的唯一方法)。
有没有办法设置一个Java“事件”(术语松散地使用),当有字节等待从设备读取时会触发?
我现在写的设备是一个终端接口,接受字符串并通过写入字节数组(或终止)来响应它们:
BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
byte[] bBuffer = new byte[6];
String cmd = BR.readLine();
while (true){
switch(cmd){
case "ON":
dev.write(ON);
Thread.sleep(READ_UPDATE_DELAY_MS);
dev.read(bBuffer);
break;
case "OFF":
dev.write(OFF);
Thread.sleep(READ_UPDATE_DELAY_MS);
dev.read(bBuffer);
break;
case "EXIT":
System.exit(0);
}
cmd = BR.readLine();
}我所希望的是这样的:
dev.InputReceived = ;这可能吗?