欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

结束符的重要性,重要性

来源: javaer 分享于  点击 23378 次 点评:198

结束符的重要性,重要性


最近写了一个Java Socket与C服务端通信的,Java端用了这样一段代码来接收服务端的反馈

while((result = is.read(bytes)) != -1){

         doSomething();

}

结果发现这个循环要执行很长时间。如果改成if语句的话就能够很快返回,经过一番思索之后,原来是read方法在接收下一个字符的时候会阻塞,虽然服务端反馈的字节已经到达了末尾,但是这个时候循环并没有跳出,所以read方法会继续阻塞,等待下一个字节,然而并没有下一个字节,所以read方法会一直阻塞到超时,然后返回。

要解决这个问题,我想到的第一个办法就是在反馈的内容里边加入字节数,那么我就可以将byte数组的大小设置为反馈的字节数的大小,进而将while改为if语句,这样既不会造成反馈内容的丢失也能够快速返回。后来发现,如果在反馈之中加上一个结束符,如果读到了结束符,那么就跳出循环,这样实现也简单。

相关文章

    暂无相关文章
相关栏目:

用户点评