BBS水木清华站∶精华区
发信人: KHP (人之初), 信区: Java
标 题: Re: 一个关于通信接收的问题
发信站: BBS 水木清华站 (Thu May 13 21:21:23 1999)
呵呵,我没有做过这样的处理,你可以试试把输入缓冲区设大一点:
sPort.setInputBufferSize(MAX_SIZE);
然后在DATA_AVAILABLE事件处理时,尽可能地多读取数据:
while (is.available() > 0) { // is -- input stream
...
}
在发送方,你是怎么发的?这也影响你的接收。
因为串口的数据传输采用异步方式逐字节发送,没有数据帧的概念,所以
底层的传输模式不能保证数据的传输间隔。要想实现较高级的控制,建议你
在底层简单传输的基础上实现一定的协议。
【 在 cmusic (一飞冲天~燕入云) 的大作中提到: 】
∶ 在用通信包进行通信接收事件处理时有一个问题,本人怎么想法也不行,特地请教;
∶ 在事件触发SerialPortEvent.DATA_AVAILABLE:时怎样控制一次性触发事件发生时就全
∶ 部接收对方写过来的数据,举例说明,对方写过来一个很长的字符串,我发现总是要好几次触发事件发生才能全部接收
∶ 怎的让它一次就全盘接收,是不是有什么函数可以设置?请高手指教,尤其是KHP先生
∶ 非常感谢
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.163.77]
BBS水木清华站∶精华区