android 的网络编程一般可以分为两种:基于Socket的,基于Http的。
一、socket与Http
socket封装了TCP/IP协议,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输。socket通信方式是当服务器端与客户端建立起了socket连接后,服务器端可以直接将数据传输到客户端。(建立socket连接:建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。)
Http是应用层协议,Http是利用TCP在服务器和客户端之间传输信息的协议,主要解决如何包装数据。http通信方式是服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。
我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等
所以,Http通信方式可以看作为在Socket通信方式上对传输数据进行封装。Socket通信支持的TCP/IP协议相当于通信高速公路上的货车,负责运输任务;而Http则相当于货车上携带的货物,负责将要传输的数据包装为一个完整的货物。
二、socket通信编程实现
时间: 2024-10-14 08:55:08