java利用udp实现发送数据
程序员文章站
2024-01-25 20:11:34
本文实例为大家分享了java利用udp实现发送数据的具体代码,供大家参考,具体内容如下1.udp的特点 数据以包的形式发送数据 udp是面向无连接的 udp会丢失数据,是一种不安全的连接 ud...
本文实例为大家分享了java利用udp实现发送数据的具体代码,供大家参考,具体内容如下
1.udp的特点
- 数据以包的形式发送数据
- udp是面向无连接的
- udp会丢失数据,是一种不安全的连接
- udp的传输速度较快
2.发送端
package cn.uu710.sockettest; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetaddress; import java.net.socketexception; public class send1 { public static void main(string[] args) { try { datagramsocket datagramsocket = new datagramsocket(); string data = "这是张佑发送的消息!"; datagrampacket datagrampacket = new datagrampacket(data.getbytes(),data.getbytes().length,inetaddress.getlocalhost(),8088); //发送 system.out.println("正在准备发送……"); datagramsocket.send(datagrampacket); system.out.println("已发送……"); datagramsocket.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } }
3.接收端
package cn.uu710.sockettest; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.socketexception; import com.sun.org.apache.bcel.internal.generic.new; public class receive1 { public static void main(string[] args) { try { datagramsocket datagramsocket = new datagramsocket(8088); byte[] b = new byte[1024]; datagrampacket datagrampacket = new datagrampacket(b,b.length); system.out.println("正在准备接收……"); //未接收之前为阻塞状态 datagramsocket.receive(datagrampacket); system.out.println("接收内容:"+new string(b,0,b.length)); system.out.println("已经接收……"); datagramsocket.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } }
4. 运行程序
先启动接收端,再运行发送端
启动接收端后,程序并未停止,因为还未接收到消息
再启动发送端,此时接收端成功接收到消息,之后程序停止
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 一台主机怎么设置成双屏显示?
下一篇: 注解与反射的使用