Android与服务器端的通信主要有两种实现方法
一、http
http也称为“”请求----响应方式“” 即当客户端发送请求时,服务端才进行数据返回
二、Socket
Socket在双方建立连接之后即可进行数据通信,同时服务器可以自发得向客户端推送消息
二者之间的缺点和有点
Socket具有数据丢失率低,使用简易和方便移植。
原理:属于抽象层,通过Socket提供的内部和外界的通信端口进行数据传输。
![](/qrcode.jpg)
Socket分类
根据协议的不同区分不同的Socket通信
如:TCP/IP协议
发送 数据: Socket 将数据通过“”TCP/IP“”协议进行封装再通过 IP 地址 进行数据传输
接收数据: 将从IP地址传递过来的"TCP/IP"数据进行解析 最后通过Socket得到数据
Socket服务端和客户端消息收发信息的实现
服务器端:
1、创建ServerSocket对象 并指定端口号
2、调用ServerSocket对象的 accpet()方法进行堵塞接收客户端传递的数据
3、根据对应的流进行数据解析
客户端:
1、创建Socket对象指向服务端的IP地址和端口号
2、客户端发送数据,将所需数据在TCP/IP协议进行封装,再根据Socket对象获取的输出流进行数据写出即可
又如:
UDP协议
服务器端:
1、服务器端创建DatagramSocket对象并指向指定端口
2、调用DatagramSokcet的neceive()方法堵塞接收客户端的数据
客户端
1、客户端创建DatagramSocket 对象 指向服务端监听的端口
2、创建InetAddress对象进行IP地址链接
3、收发信息 创建 DatagramPacket 对象
DatagramPacket packet = new DatagramPacket(发送的数据,数据长度,服务端的网络地址,端口号);