发送端主要代码
DataOutputStream daOutStream=new DataOutputStream(socket.getOutputStream());
daOutStream.write(字节数据);
daOutStream.flush();接受段主要代码
DataInputStream daInStream=new DataInputStream(socket.getInputStream());
ByteArrayOutputStream baOutputStream=new ByteArrayOutputStream(1024);
while(true){
byte[] buffer=new byte[1024];
int total=0;
total=daInStream.read(buffer);
while((total=daInStream.read(buffer))!=-1 ){
baOutputStream.write(buffer, 0, total);
}
}
当读取到流尾端时
total=daInStream.read(buffer)
total没有返回-1标示,而是直接阻塞住了
DataOutputStream daOutStream=new DataOutputStream(socket.getOutputStream());
daOutStream.write(字节数据);
daOutStream.flush();接受段主要代码
DataInputStream daInStream=new DataInputStream(socket.getInputStream());
ByteArrayOutputStream baOutputStream=new ByteArrayOutputStream(1024);
while(true){
byte[] buffer=new byte[1024];
int total=0;
total=daInStream.read(buffer);
while((total=daInStream.read(buffer))!=-1 ){
baOutputStream.write(buffer, 0, total);
}
}
当读取到流尾端时
total=daInStream.read(buffer)
total没有返回-1标示,而是直接阻塞住了
daOutStream.close();光flush()是不够的。