1

我写了一个android应用程序,它连接到ServerSocket(写入的Java)并应该并行传输一些数据。我有 3 个套接字 - 一个用于文本传输,两个用于数据传输(声音、图像等)。在最初的几个小时内一切正常,但之后该write()方法卡住并且不传输任何数据,大约 15 分钟后我得到sendto failed: ETIMEDOUT (Connection timed out)例外。奇怪的是,文本确实会随时传输..
我正在使用DataOutputStream传输文本和BufferedOutputStrem传输数据..基本代码很简单:

    while((max=fis.read(b))!=-1){
       dataOut.write(b, 0, max);
       dataOut.flush();
    }
   fis.close();

在服务器中:

while(counter<size){        
    max = dataStream.read(b);
    fos.write(b, 0, max);
    counter = counter + max;
}
fos.close();

编辑:好的,我终于找到了问题..看起来那个长时间不发送一些数据的套接字将无法正常工作。所以我必须每 X 分钟发送一个字节..

4

0 回答 0