day1:UDP网络传输

UDP网络传输学习与理解

要点

1.UDP网络传输不需要建立连接,即高效率,不可靠,数据传输不超过64KB
2.UDP通过 DatagramSocket和 DatagramPacket进行通行,不在区分具体客户端和服务端
3.DatagramPacket封装了具体地址和信息,DatagramSocket将其进行打包发送或接受

使用细节

1.发送端:
(1)DatagramSocket构造器声明;
(2)创建字节数组用于装包保存数据
(3)DatagramPacket封装数据和地址(IP地址和端口号)用于发送
(4)DatagramSocket.send(packet),打包发送

2.接受端:
(1)DatagramSocket构造器声明需要监听的端口号
(2)创建字节数组用于装包保存数据
(3)DatagramPacket封装数据用于接收
(4)DatagramSocket.receive(packet),打包接收
(4)创建字节数组用于拆包

3:具体代码

DatagramSocket send_socket = new DatagramSocket(9999); // 表示在999端口接收数据
    byte[] buf = new byte[1024]; // 装包发送
    buf = "在吗?,明天赤果果".getBytes();
    DatagramPacket packet = new DatagramPacket(buf,buf.length, InetAddress.getByName("10.21.58.61"),9998);
    send_socket.send(packet);  // 发送
    
    byte[] receive_buf = new byte[1024];  // 装包接收
    DatagramPacket receivet_packet = new DatagramPacket(receive_buf,receive_buf.length);
    send_socket.receive(packet);
    int length = packet.getLength();
    byte[] receive_bu = packet.getData();  // 拆包
    System.out.println(new String(receive_bu,0,length));    // 打印

常用的两个方法

1String.getBytes()  : 将字符串转换为字节数组
2.new Stringbyte[ ] arr,0 ,arr.length);  : 字符串打印字节数组数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

孟晓心

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

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

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

打赏作者

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

抵扣说明:

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

余额充值