2016-06-10 106 views
1

我正在HttpURLConnection類從我的應用程序做一些網絡活動。所以我想知道HttpURLConnection如何在內部工作。我經歷了課程,發現連接()方法定義爲URLConnection中的摘要。Android HttpURLConnection如何工作?

但我無法找到連接()方法的定義。所以我很好奇,HttpURLConnection如何連接到服務器。

mycode的

 URL url = new URL("https://example.com"); 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestProperty("Accept-Encoding", "identity"); 
     connection.setRequestProperty("Authorization", basicAuth); 
     connection.setRequestProperty("Connection", "keep-alive"); 
     connection.setRequestProperty("Content-type", ""); 
     connection.setRequestProperty("User-Agent", "LibHttp/1.3.8"); 
     connection.setRequestMethod("POST"); 

     connection.connect(); // how it connects // 

請建議我一些解決方案。

+0

也許這可能會幫助你[Java URLConnection - 我什麼時候需要使用connect()方法?](http://stackoverflow.com/questions/16122999/java-urlconnection-when-do-i-need-使用該連接方法) – Isabelle

回答

1

這是一個非常寬泛的問題。我會盡量簡短回答。

每當我們說我們正在發出一個http請求時,我們在端口80(https端口443)上建立一個與服務器的套接字連接。然後我們在http協議之後的套接字中寫入,並等待服務器響應。

這裏有一個暫停時間,我們可以設置建立連接,然後設置一個時間,我們將等待服務器響應。

這是一個同步調用,這意味着線程將被阻塞,直到服務器響應或超時發生。

+0

感謝您的簡要說明。但是可以請建議,寫入connect()函數的內容是什麼,然後它開始處理與服務器的連接。 – animation123

+0

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/sun/net/www/protocol/http/HttpURLConnection.java#HttpURLConnection.connect%28%29 - 您可以在此鏈接中找到詳細信息。 –

+0

太棒了,這將有助於:)謝謝! – animation123

相關問題