千家信息网

java如何实现UDP

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍了java如何实现UDP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。UDP:需要datagramSocket来进行中
千家信息网最后更新 2025年01月17日java如何实现UDP

这篇文章主要介绍了java如何实现UDP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

UDP:
需要datagramSocket来进行中间的运输
无连接的传输层协议,提供面向事务的简单不可靠信息传输服务、可能丢失、非常简单、开销小
一切以包为中心
数据传输不用IO流

接收端
Address already in use: Cannot bind同一个协议下端口不允许冲突
1、使用DatagramSocket指定端口 创建接收端
2、准备容器封装成DatagramPacket 包裹
3、阻塞式接受包裹receive(DatagramPacket p);
4、分析数据getData()返回类型为字节数组,getLength()返回数据长度,类型为int
5、释放资源

public class http {public static void main(String[]args) throws  Exception{    System.out.println("接收方启动中...");    //1、使用DatagramSocket指定端口 创建接收端    DatagramSocket server=new DatagramSocket(9999);//同一台电脑上端口不要冲突    //2、准备容器封装成DatagramPacket 包裹    byte[] container=new byte[1024*60];    DatagramPacket packet=new DatagramPacket(container,0,container.length);    //3、阻塞式接受包裹receive(DatagramPacket p);    server.receive(packet);//阻塞式,有等待时间    //4、分析数据getData()返回类型为字节数组,getLength()返回数据长度,类型为int    byte[] datas=packet.getData();    int len=packet.getLength();    System.out.println(new String(datas,0,datas.length));    //5、释放资源    server.close();}}

发送端
1、使用DatagramSocket指定端口 创建发送端
2、准备数据,一定要转成字节数组
3、准备容器封装成DatagramPacket 包裹,需要指定目的地(ip地址和端口)
4、发送包裹send(DatagramPacket p);
5、释放资源

public class client {public static void main(String[]args) throws IOException{    System.out.println("发送启动中...");    //1、使用DatagramSocket指定端口 创建发送端    DatagramSocket client =new DatagramSocket(8888);    //2、准备数据,一定要转成字节数组    String data="我最帅";    byte[] datas=data.getBytes();    //3、准备容器封装成DatagramPacket 包裹,需要指定目的地(ip地址和端口)    DatagramPacket packet=new DatagramPacket(datas,0,datas.length,new InetSocketAddress("localhost",9999));    //4、发送包裹send(DatagramPacket p);    client.send(packet);    //5、释放资源    client.close();}}

感谢你能够认真阅读完这篇文章,希望小编分享的"java如何实现UDP"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0