我对 Android 还比较陌生。我对 Android 中用于网络通信的 2 个 API 的功能有一个非常基本的困惑。
- openConnection()
- 连接()
来自conn.connect()看起来 connect() 才是真正创建连接的。
来自 url.openConnection()看起来 openConnection() 实际上创建了连接。
从围绕 SO 主题的一些讨论来看, conn.connect()支持前者,答案有 4 票赞成 url.openConnection()支持后者,该答案获得 97 票赞成。
有人可以帮助消除困惑吗?
最佳答案
因此,进一步深入研究实际上帮助我更清楚地理解了这一点。
正如上面评论中所讨论的,也如here所述
- 通过调用 openConnection 创建连接对象 URL 上的方法。
- 操纵设置参数和一般请求属性。
- 使用以下命令建立与远程对象的实际连接 连接方法。
- 远程对象变得可用。 header 字段和 可以访问远程对象的内容。
现在就 conn.getInputStream() 而言,按照this ,
You are not always required to explicitly call the connect method to initiate the connection. Operations that depend on being connected, like getInputStream, getOutputStream, etc, will implicitly perform the connection, if necessary.
现在我仍在试图弄清楚他们到底是如何隐式建立连接的!
关于java - openConnection() 或 connect() 这两个 API 中哪一个实际打开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34089589/