(Android)文件通常在一台主机上下载,但在另一台主机上“立即完成”

时间:2013-07-25 11:25:16

标签: android sockets http networking download

我赶时间,所以我会做这个。如果需要,当我回到我的电脑时,我会提供更多信息。

我正在为Android创建下载/上传速度测试应用。以下是一些代码:

InetAddress Host = InetAddress.getByName(myHoseName);
Socket s = new Socket(Host,80);

//prepare data stream for each direction
            OutputStream output = s.getOutputStream();
            InputStream input = s.getInputStream();

//send command
            output.write( ("GET "+ myFilePath +" HTTP/1.0\r\n").getBytes() );
            output.write("Accept: */*\r\n".getBytes());
            output.write("\r\n".getBytes());

 while ((DownloadedByte += input.read(BufferData,0,BufferData.length)) != -1)
            {   
                //download started... bla bla bla

问题:

  • 我在2台主机上有SAME测试文件。 (名称为test.jpg)

  • 如下所示:xxx.xxx.xxx.xxx(它是一个IP地址)

  • 另一个是像my.testhost.com这样的域名

  • 问题是当我尝试从xxx.xxx.xxx.xxx下载时,一切都很好

  • 但是当我尝试从my.testhost.com下载时,下载过程立即完成,Logcat上没有显示任何内容

我希望此信息足以开始解决问题。我的道歉,但我会在以后提供更多信息,也许是明天。

谢谢你,尽快和你谈谈!

最佳, 吉滴

1 个答案:

答案 0 :(得分:1)

这看起来非常像my.testhost.com的下载失败,因此它似乎立即完成,尽管它只是中止了。检查下载的数据以排除这种情况。

由于各种原因,可能会发生故障。最有可能是主机名无法解析(查找名称my.testhost.com的IP无效),或者主机只能通过您需要配置的代理服务器才能进行下载