java网络之基于UDP的聊天程序示例解析

2025-05-29 0 105

基于UDP的Socket通信

UDP协议不是一种基于稳定连接的协议,是一种面向数据报包的通信协议,不需要通信双方建立稳定的连接,也没有所谓服务端和客户的概念,数据报包在传输的时候不保证一定及时到达,也不能保证数据报包的到达顺序,但是UDP协议传输效率要远高于TCP/IP。

以下是一个基于UDP的简单的消息发送接收程序。

消息发送方

1.创建一个数据报的网络通道

?

1
DatagramSocket ds = new DatagramSocket();

2.准备需要传输的数据

?

1
String msg = "天王盖地虎,小鸡炖蘑菇!!!";

3.将需要发送的数据打包成数据报包

?

1

2

3

4

5

6
DatagramPacket packet = new DatagramPacket(

msg.getBytes(), //需要被发送的数据的字节数组

msg.getBytes().length, //发送的数据长度(字节数组长度)

InetAddress.getByName("localhost"), //接收方的ip

1025 //接收方的端口

);

4.发送数据报包

?

1
ds.send(packet);

5.关闭通道

?

1
ds.close();

消息接收方

1.创建一个数据报的网络通道,绑定到指定端口

?

1
DatagramSocket ds = new DatagramSocket(1025);

2.声明字节数组,用于存储接收的数据

?

1
byte[] b = new byte[1024];

3.准备数据报包(空包)

?

1
DatagramPacket packet = new DatagramPacket(b, b.length);

4.接收数据到数据报包中

?

1
ds.receive(packet);

5.将数据解析为字符串并输出

?

1

2

3

4

5
//接受到的数据(字节数组)实际长度

int len = packet.getLength();

//将字节数组转换为字符串

String s = new String(b, 0, len);

System.out.println("收到的消息:"+s);

如要进行循环接收,则将第4、第5步进行无限循环。

到此这篇关于java网络之基于UDP聊天程序示例解析的文章就介绍到这了,更多相关java基于UDP聊天程序内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://blog.csdn.net/weixin_45877744/article/details/107743365

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 java网络之基于UDP的聊天程序示例解析 https://www.kuaiidc.com/119010.html

相关文章

发表评论
暂无评论