UDP通信程序练习
发送端代码:
/* UDP发送数据:数据来自于键盘录入,如果输入的数据是886,发送数据结束 */ public class SendDemo { public static void main(String[] args) throws IOException { //1.创建发送端对象 DatagramSocket ds = new DatagramSocket(); //2.创建数据,数据来自于键盘录入 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = br.readLine()) != null) { if (line.equals("886")) { break; } //将录入的数据打包 byte[] bys = line.getBytes(); DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("192.168.50.76"), 12345); //发送数据 ds.send(dp); } //关闭发送端 ds.close(); } }
接收端代码:
/* UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收 */ public class ReceviedDemo { public static void main(String[] args) throws IOException { //创建DatagramSokcet对象接收端 DatagramSocket ds = new DatagramSocket(12345); while (true) { //创建数据包,用于接收数据 byte[] bys = new byte[1024]; DatagramPacket dp = new DatagramPacket(bys, bys.length); //调用方法接收数据 ds.receive(dp); //解析数据包,并把数据在控制台输出 System.out.println("数据是:" + new String(dp.getData(), 0, dp.getLength())); } } }
发送端发送数据:
接收端收到数据:
学习的博客多用于在笔记中,防止笔记过于臃肿,所以将样例及运行结果放在博客中,后以超链接的形式记录在笔记中,所以有些博文过于单薄。如果有小伙伴遇到问题欢迎评论,看到就会回复,学渣一枚,加油努力。