服务器端通过java的Socket转发数据,类似于msn的文件传输,数据转发的代码大致为下所示(省去了建立连接、接收数据等代码)。但是在实际中,这样稳定性比较差,有时候服务器端已经转发了,但是客户端没有收到。
 有没有相关的方法,当客户端没有接收到数据的话(大部分是由于网络的原因),服务器进行重发。下面用到write和flush函数没有返回值,没法进行判断。
 int read = 0;
 while ((read = BufferedInputStream.read(bb)) != -1) {
  byte[] b1 = new byte[read];
  System.arraycopy(bb, 0, b1, 0, read);
  Socket.BufferedOutputStream.write(b1);
  Socket.BufferedOutputStream.flush();
}多谢!