Android与服务器的通信

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32216895/article/details/70177591

Android与服务器端的通信主要有两种实现方法

一、http 

http也称为“”请求----响应方式“”    即当客户端发送请求时,服务端才进行数据返回

二、Socket

Socket在双方建立连接之后即可进行数据通信,同时服务器可以自发得向客户端推送消息

二者之间的缺点和有点

Socket具有数据丢失率低,使用简易和方便移植。


原理:属于抽象层,通过Socket提供的内部和外界的通信端口进行数据传输。

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(发送的数据,数据长度,服务端的网络地址,端口号);




猜你喜欢

转载自blog.csdn.net/qq_32216895/article/details/70177591