C/C++教程

使用BufferedReader读取socket流的阻塞问题解决方法

本文主要是介绍使用BufferedReader读取socket流的阻塞问题解决方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通过BufferedReader的ready()方法来解决,其规约中表述:该方法能告诉我们该流是否准备好被读取,即流中内容不空时返回true,否则返回false。
在这里插入图片描述

代码如下:

// 输入流
                InputStream is = socket.getInputStream();
                StringWriter writer = new StringWriter();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                char[] bt = new char[1024];
                do {
                    reader.read(bt);
                } while (reader.ready());
                writer.write(bt,0,bt.length);
                String request = writer.toString();
这篇关于使用BufferedReader读取socket流的阻塞问题解决方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!