BBS水木清华站∶精华区
发信人: cmusic (一飞冲天~燕入云), 信区: Java
请教大虾一个问题:
实现了接口SerialPortEventListener的类运行之后好象总是结束不了应用程序,通信
只是整个应用程序的一部分,如何才能在正确的接收到所需信息后得到一个返回值呢?
发信人: KHP (人之初), 信区: Java
把问题说得明白点
【 在 cmusic (一飞冲天~燕入云) 的大作中提到: 】
∶ 请教大虾一个问题:
∶ 实现了接口SerialPortEventListener的类运行之后好象总是结束不了应用程序,通信
∶ 只是整个应用程序的一部分,如何才能在正确的接收到所需信息后得到一个返回值呢?
发信人: cmusic (一飞冲天~燕入云), 信区: Java
假设我有一信息要发送给对方,并且想得到它的返回信息,当然两者之间的数据传送格式是
事先规定好的,现自定义一个类,该类实现SeialPortEventListener接口,在方法SerialEvent
中出发事件响应来接收数据(DATA_AVAILABLE),经测试发现,对方一次性发过来的数据总要有
好几次触发事件,我希望在收到一个完整“数据帧”后能通知当前应用程序端口已收到一条
完整信息请求立即处理,该怎么办呢,对通信的机制不是很懂,我该怎么办呢,JAVA中有没
有类似中断的方法来实现呢?KHP是不是曾有过类似的经验,请指教,非常感谢!
� 在 KHP (人之初) 的大作中提到: 】
把问题说得明白点
【 在 cmusic (一飞冲天~燕入云) 的大作中提到: 】
∶ 请教大虾一个问题:
∶ 实现了接口SerialPortEventListener的类运行之后好象总是结束不了应用程序,通信
∶ 只是整个应用程序的一部分,如何才能在正确的接收到所需信息后得到一个返回值呢?
发信人: KHP (人之初), 信区: Java
当数据到达时,先把数据写入一个缓冲区,再判断目前缓冲区中的数据是否已经
构成了所期望的一个完整的数据帧(帧格式的定义应该能提供需要的信息),如果
是,则调用相应的方法进行处理,然后对缓冲区进行复位。若尚未接收到足够的数
据,则不做任何处理直接返回即可。
这样可以吧?
【 在 cmusic (一飞冲天~燕入云) 的大作中提到: 】
∶ 假设我有一信息要发送给对方,并且想得到它的返回信息,当然两者之间的数据传送格式是
∶ 事先规定好的,现自定义一个类,该类实现SeialPortEventListener接口,在方法SerialEvent
∶ 中出发事件响应来接收数据(DATA_AVAILABLE),经测试发现,对方一次性发过来的数据总要有
∶ 好几次触发事件,我希望在收到一个完整“数据帧”后能通知当前应用程序端口已收到一条
∶ 完整信息请求立即处理,该怎么办呢,对通信的机制不是很懂,我该怎么办呢,JAVA中有没
∶ 有类似中断的方法来实现呢?KHP是不是曾有过类似的经验,请指教,非常感谢!
∶ 把问题说得明白点
发信人: cmusic (一飞冲天~燕入云), 信区: Java
我是这样考虑了,问题是:在主程序需要进行传输数据时首先调用"写"函数,写出去后可能
还要做别的事,但又得观望着是否已经有数据信息返回,在主程序一开始已经声明了的该
通信对象可能已经收到了对方返回过来的信息,因为什么时候能完整返回是不确定的,观�
望的主程序如何观望,一旦通信对象得到了完整信息怎么通知主程序你可以取返回信息了,
问题主要在这个地方,另外主程序是多任务的,宏观上可能同时发出几条信息并等待返回
实在是新手,高手指点迷津,程序结构的安排是不是有什么不妥,还是需要其他方法,因为
我们的最终目的并不仅仅为了看到通信结果。
对KHP先生的帮助非常感激,若不嫌麻烦,请再赐高招,非常感谢!!!
【 在 KHP (人之初) 的
∶ 当数据到达时,先把数据写入一个缓冲区,再判断目前缓冲区中的数据是否已经
∶ 构成了所期望的一个完整的数据帧(帧格式的定义应该能提供需要的信息),如果
∶ 是,则调用相应的方法进行处理,然后对缓冲区进行复位。若尚未接收到足够的数
∶ 据,则不做任何处理直接返回即可。
∶ 这样可以吧�
BBS水木清华站∶精华区