Android应用使用UDP通信简单实现及注意事项
程序员文章站
2024-02-10 23:32:34
...
UDP:无连接的传输协议,又称为用户数据报协议(UDP,User Datagram Protocol)
UDP通信无服务端和客户端之分,只有发送端和接收端。
一、发送端的实现:
1、建立DatagramSocket与DatagramPacket;
2、设置DatagramPacket的端口IP;
3、通过DatagramSocket发送;
int iport=5555;//本机端口号
int port=8888;//目标接收端口号
byte []sendByte={0x01,0x02};//发送的字节数组
InetAddress ip=InetAddress.getByName("192.168.2.0.33");//目标接收端的ip地址
DatagramSocket socket=new DatagramSocket(iport);
DatagramPacket packet=new DatagramPacket (sendByte,sendByte.length,ip,port);
socket.send(packet);
注意:1)目标接收端口号不能和本机端口号一样,否则将提示被占用;
2)发送数据包(即socket.send(packet))这一步需要放进子线程里,否则线程会冲突造成崩溃。
3)AndroidManifest.xm文件中要记得加权限<uses-permission android:name="android.permission.INTERNET" />
二、接收端的实现
1、创建DatagramSocket,这时的端口号需与发送端的packet中设置的端口号一致;
2、创建DatagramPacket,指定存储数据的字节数组和该字节数组的长度;
3、接收,这个方法会阻塞,直到接收到packet;
DatagramSocket socket=new DatagramSocket(8888);
byte []receiveByte=new byte[2048];
DatagramPacket packet=new DatagramPacket(receiveByte,receiveByte.length);
socket.receive(packet);//接收
上一篇: Android网络(1)--学习笔记
下一篇: django中的ORM
推荐阅读