0
我很匆忙,所以我會盡快完成。如果需要,當我回到我的電腦時,我會提供更多信息。(Android)文件通常在一臺主機上下載,但在另一臺主機上「立即完成」
我正在爲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臺主機上相同的測試文件。 (名字是test.jpg放在)
一點看是這樣的:xxx.xxx.xxx.xxx(這是一個IP地址)
另外一個就是域名如my.testhost.com
問題是,當我試圖從xxx.xxx.xxx.xxx下載,一切都很好
但是,當我嘗試從my.testhost.com下載,下載過程與旁邊沒有立即完成在Logcat上顯示
我希望這個信息足以開始解決這個問題。我的道歉,但我會在稍後提供更多信息,也許明天。
非常感謝,並很快與您交談!
最佳, 吉滴
嗨。非常感謝您的回答。我同意你的意見。我會看看我能做些什麼關於代理。與此同時,我有更多的信息可以分享。正在開發相同速度測試應用程序的iOS版本的我的團隊成員似乎下載了沒有問題的文件。但他使用的是HTTP,而不是套接字。 – Kakyoin
這也指向代理問題 - 如果您使用套接字,則不會使用代理。如果您使用某些具有HTTP功能的類,則很可能使用系統的代理設置來定位和使用代理服務器。那麼也可以使用java.net.URLConnection,因爲這個Java的代理設置將被自動使用。您可以從URLConnection中獲取輸入流,類似於如何從套接字中抓取輸入流,並以完全相同的方式進行速度測試。 –
感謝您的回答。看起來像這是原因。 =) – Kakyoin