在Android上运行时,从套接字收到的文件丢失了

时间:2015-07-16 15:10:56

标签: android sockets file-transfer

我正在构建一个Android应用程序,我们构建了一个套接字,用于将文件从此端传输到另一端。 该文件通过计算机发送(当我们在计算机上测试时),它运行良好。 但是当我们构建app到android,并通过我们放在计算机上的套接字(用作服务器)从这个android发送文件到另一个android,所以收到的文件丢失(文件大小不够)。有时它已经足够了,但有时还不够,但几乎时间还不够。

在测试时,它在PC上完全运行良好。

希望你们有一些想法可以帮助我。

这是我的代码:

1 / Java服务器应用程序中的代码 - 发送文件:

int countBufferReceive = 0;
byte[] buffer = new byte[1024 * 1024];
int numByte = 0;
while ((numByte = this.receiveStream.read(buffer, 0, buffer.length)) > 0) {
    client.sendStream.write(buffer, 0, numByte);
    client.sendStream.flush();

    countBufferReceive += numByte;
    if (countBufferReceive == fileLength)
        break;
}

2 / Android应用中的代码 - 接收文件:

int countBufferReceive = 0;
byte[] buffer = new byte[1024 * 1024];
int numByte = 0;
while ((numByte = ConnectServer.receiveStream.read(buffer, 0, buffer.length)) > 0) {
    fos.write(buffer, 0, numByte);
    fos.flush();

    countBufferReceive += numByte;
    if (countBufferReceive == fileLength)
        break;
}
fos.close();

谢谢,

0 个答案:

没有答案