Java UDP编程

  • 类Datagramsocket 和 DatagramPacket 实现了基于UDP协议的网络程序

  • UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不能保证数据报一定能够安全到达目的地,也不能保证什么时候可以抵达

  • DatagramPacket对象封装了UDP数据报,在数据包中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号

  • UDP协议中的每个数据报都给出了完整的地址信息,因此无需创建发送方与接收方的连接

    • 发送方

      package javanetwork.day2.demo2;
      
      import java.io.IOException;
      import java.net.DatagramPacket;
      import java.net.DatagramSocket;
      import java.net.InetAddress;
      import java.net.SocketException;
      
      /*
        基于UDP协议的发送与接收
       */
      public class Send {
      
          public static void main(String[] args) throws IOException {
      
              DatagramSocket datagramSocket = new DatagramSocket();
              byte[] b = "你好".getBytes();
      
              //创建数据报
              DatagramPacket datagramPacket = new DatagramPacket(b,b.length, InetAddress.getByName("192.168.43.194"),9999);
              datagramSocket.send(datagramPacket);
          }
      }
    • 接收方

      package javanetwork.day2.demo2;
      
      import java.io.IOException;
      import java.net.DatagramPacket;
      import java.net.DatagramSocket;
      import java.net.SocketException;
      
      public class Receive {
      
          public static void main(String[] args) throws IOException {
      
              DatagramSocket datagramSocket = new DatagramSocket(9999);
              byte[] b = new byte[1024];
              DatagramPacket datagramPacket = new DatagramPacket(b, b.length);
      
              //接收数据到数据报中
              datagramSocket.receive(datagramPacket);
              String s = new String(b,0,datagramPacket.getLength());
              System.out.println(s);
          }
      }
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会写代码的菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值