java socket传输问题,等待接收 5C

在做数据传输的时候。服务端用OutputStream发送,客户端用BufferedInputStream接收,
这个时候不会阻塞。但是服务端用BufferedOutPutStream发送的时候,客户端会一直阻塞接收。
小弟菜鸟一枚,求大神解答。

4个回答

可能没有将BufferedInputStream刷新,注意将相关流的关闭

这有一个缓冲区的问题 应该是你没有刷新并且清空缓冲导致的

BufferedOutPutStream有缓存,每次write后调用一下flush方法

BufferedOutPutStream这个数据流的类实现就是批量写入数据的意思,如果只是调用write,这个时候数据是不会发送出去的,给人的感觉阻塞了,只有超过了缓存设置的上限,数据才会发送过去,可以尝试调用write之后,再次调用下flush()方法就可以了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问