Android中,可以通过Socket、Http获取网络数据。我们首先搞清楚它们分别是什么,再看在Android中,它们如何实现。
1、什么是Socket
Socket 是传输层上的编程接口。它是实现计算机之间网络通信的基石。每一种可用于网络编程的语言都会实现这个接口。Java提供了ServerSocket类、Socket类给程序员来实现客户端与服务端的通信。
当我们使用Socket时,我们可以指定传输层上使用什么传输协议(TCP或UDP),一般常用的是TCP了。
大致上说,使用Socket通信的流程是这样的:
第一、服务端建立一个Socket,指定它监听某个端口。
第二、客户端也建立一个Socket,通过地址和端口向服务端Socket发出信息
第三、服务端Socket接收到信息,并立即创建一个新的Socket与客户端Socket通信,这个新的Socket的端口是任意的空闲端口,不需要程序员关心。
第四、服务端与服务端都打开输入输出流,就可以相互收发信息了。直到一方关闭了Socket,通信才结束了。
2、什么是Http
Http是一种协议,在ISO网络模型中,它