2016-06-10 98 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