解决StringBuilder readline阻塞问题
readline之所以会阻塞socket流没有结束符
阻塞场景:read() 没有读取到任何数据
readLine() 没有读取到结束符或者换行符
可以用ready判断通道中数据是否读完,读完返回false,未读完返回ture
改进一下代码
点击查看代码
StringBuilder builder = new StringBuilder();
String message ;
do {
builder.append(br.readLine()).append("\n");
} while (br.ready());
builder.replace(builder.length()-1,builder.length(),"");
message = builder.toString();