【发布时间】:2011-07-30 13:28:15
【问题描述】:
我正在尝试使用 Socket 程序从服务器读取字节,即我正在使用 InputStream 读取字节。如果我通过长度大小,我可以读取字节,但我不确定长度可能是多少。所以我无法初始化字节数组。
我也试过while (in.read() != -1),我观察到它在发送数据时循环工作正常,但循环后的下一行无法执行,我觉得它仍在寻找流中的数据但没有数据。如果我关闭服务器连接,那么我的客户端将执行循环后面的下一行。
我不确定我哪里出错了?
this.in = socket.getInputStream();
int dataInt = this.in.read();
while(dataInt != -1){
System.out.print(","+i+"--"+dataInt);
i++;
dataInt = this.in.read();
}
System.out.print("End Of loop");
我得到的输出为:-
,1--0,2--62,3--96,4--131,5--142,6--1,7--133,8--2,9--16,10--48,11--56,12--1,13--0,14--14,15--128,16--0,17--0,18--0,19--48,20--0,21--0,22--0,23--0,24--0,25--1,26--0,27--0,28--38,29--114,30--23,31--20,32--70,33--3,34--20,35--1,36--133,37--48,38--51,39--49,40--52,41--49,42--55,43--49,44--52,45--52,46--54,47--55,48--50,49--51,50--52,51--48,52--53,53--56,54--51,55--48,56--48,57--57,58--57,59--57,60--57,61--57,62--57,63--57,64--56
但没有输出:- 循环结束
请指导我该如何关闭循环?
期待您的回复。提前谢谢大家。
【问题讨论】:
标签: java sockets inputstream