当前位置: 技术问答>java相关
真怪,为什么我的BufferReader.read会block在那边
来源: 互联网 发布时间:2017-03-22
本文导语: int read(char[] cbuf,int off,int len) throws IOException 用BufferReader对socket封装, 读完几次后会在这上面block住了,cpu给我占用了100%,动也动不了了 可是看api,如果另一端没有数据就应该返回-1呀? 另一端的socket是在unix下的,一...
int read(char[] cbuf,int off,int len) throws IOException
用BufferReader对socket封装,
读完几次后会在这上面block住了,cpu给我占用了100%,动也动不了了
可是看api,如果另一端没有数据就应该返回-1呀?
另一端的socket是在unix下的,一次发了20480个字节,然后就等待java端返回一个应答,java端一直read到返回-1时向unix发一个应答,大家这种机制有没有问题
用BufferReader对socket封装,
读完几次后会在这上面block住了,cpu给我占用了100%,动也动不了了
可是看api,如果另一端没有数据就应该返回-1呀?
另一端的socket是在unix下的,一次发了20480个字节,然后就等待java端返回一个应答,java端一直read到返回-1时向unix发一个应答,大家这种机制有没有问题
|
我曾经遇到过在98下的textArea里最后不加一个回车的话,用Reader就读不到结束标识符-1,建议你在发出的字节后加上一个tn试试看
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。