UDP协议

发送端

public static void main(String[] args)throws IOException {
    //创建发送端
    DatagramSocket datagramSocket = new DatagramSocket();
    //创建数据包,封装数据
    byte[] bytes="你好,UDP".getBytes();
    //接收端IP地址对象
    InetAddress ip = InetAddress.getByName("127.0.0.1");
    DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, ip, 999);
    //调用发动端口的send方法,发送数据包
    datagramSocket.send(datagramPacket);
    //关闭资源
    datagramSocket.close();
}

接收端

    public static void main(String[] args)throws IOException {
        //创建接收端,绑定端口号
        DatagramSocket datagramSocket = new DatagramSocket(999);
        //创建一个字节数组用来接收数据 缓冲区
        byte[] bytes=new byte[1024*64]; //最多不能超过64K
        //创建接收数据包的对象
        DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
        //调用接收端口的receive方法,接收数据包
        datagramSocket.receive(datagramPacket);
        //拆包
        InetAddress address = datagramPacket.getAddress();//发送端的地址
        byte[] data = datagramPacket.getData();//数据
        int length=datagramPacket.getLength() ;//数据长度
        System.out.println(address+":"+new String(data,0,length));

        //关闭资源
        datagramSocket.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值