时间:2021-05-19
基于UDP的Socket通信
UDP协议不是一种基于稳定连接的协议,是一种面向数据报包的通信协议,不需要通信双方建立稳定的连接,也没有所谓服务端和客户的概念,数据报包在传输的时候不保证一定及时到达,也不能保证数据报包的到达顺序,但是UDP协议传输效率要远高于TCP/IP。
以下是一个基于UDP的简单的消息发送接收程序。
消息发送方
1.创建一个数据报的网络通道
DatagramSocket ds = new DatagramSocket();2.准备需要传输的数据
String msg = "天王盖地虎,小鸡炖蘑菇!!!";3.将需要发送的数据打包成数据报包
DatagramPacket packet = new DatagramPacket( msg.getBytes(), //需要被发送的数据的字节数组 msg.getBytes().length, //发送的数据长度(字节数组长度) InetAddress.getByName("localhost"), //接收方的ip 1025 //接收方的端口 );4.发送数据报包
ds.send(packet);5.关闭通道
ds.close();消息接收方
1.创建一个数据报的网络通道,绑定到指定端口
DatagramSocket ds = new DatagramSocket(1025);2.声明字节数组,用于存储接收的数据
byte[] b = new byte[1024];3.准备数据报包(空包)
DatagramPacket packet = new DatagramPacket(b, b.length);4.接收数据到数据报包中
ds.receive(packet);5.将数据解析为字符串并输出
//接受到的数据(字节数组)实际长度int len = packet.getLength();//将字节数组转换为字符串String s = new String(b, 0, len);System.out.println("收到的消息:"+s);如要进行循环接收,则将第4、第5步进行无限循环。
到此这篇关于java网络之基于UDP的聊天程序示例解析的文章就介绍到这了,更多相关java基于UDP的聊天程序内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了java使用udp模式编写聊天程序的具体代码,供大家参考,具体内容如下java代码:?123456789101112131415161718
java基础知识之网路通信总结在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信、UDP通信、多播以及NIO。 TCP连接 TCP的基础
Erlang中gen_tcp用于编写TCP程序,gen_udp用于编写UDP程序。一个简单的TCP服务器echo示例:复制代码代码如下:Start_echo_s
本文实例讲述了java编程实现基于UDP协议传输数据的方法。分享给大家供大家参考,具体如下:UDP协议(UserDatagramProtocol,用户数据报协议
本文实例讲述了Python实现基于socket的udp传输与接收功能。分享给大家供大家参考,具体如下:udp的传输与接收windows网络调试助手下载:http