Android:Socket UDP通信

UDP 是User Datagram Protocol的简称,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

1、UDP是一个无连接协议,传输数据之前源端和终端不建立连接;

2、不维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息;

3、UDP信息包的标题很短,8个字节,对于TCP的20个字节信息包的额外开销很小;

4、吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制;

5、不保证可靠交付;

6、UDP是面向报文的。

二、UDP的代码编程需要用到DatagramSocket类.java使DatagramSocket代表UDP协议的Socket,先了解一下这个类。
sever服务端创建步骤:
1、生成DatagramSocket对象,参数为端口号

DatagramSocket socket = new  DatagramSocket (8888);

2、byte数组用来接收数据

byte data[] = new byte[1024];

3、DatagramPackage以包形式装载byte数组

DatagramPacket packet = new DatagramPacket(data, data.length);

4、使用DatagramPacket的receive方法接收发送方所发送的数据,是一个阻塞的方法

socket.receive(packet);

5、接收到的数据转变化成可读字符串

String result = new String(packet.getData(), packet.getOffset(), packet.getLength());

client客户端创建步骤:

1、生成DatagramSoctet对象,参数为端口号

DatagramSocket socket = new  DatagramSocket (8888);

2、创建一个InetAddress对象,用于确定server客户端,参数为IP地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值