UDP 发送接收数据

Posted zuixinxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDP 发送接收数据相关的知识,希望对你有一定的参考价值。

package com.yjf.esupplier.common.test;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * @author shusheng
 * @description UDP 发送接收数据
 * @Email shusheng@yiji.com
 * @date 2019/1/6 0:21
 */
public class SendDemo 

    public static void main(String[] args) throws Exception 
        DatagramSocket socket = new DatagramSocket();
        String str = "i love you";
        // 把数据进行封装到数据报包中
        DatagramPacket packet = new DatagramPacket(str.getBytes(),
                str.length(), InetAddress.getByName("localhost"), 6666);
        socket.send(packet);// 发送

        byte[] buff = new byte[100];
        DatagramPacket packet2 = new DatagramPacket(buff, 100);
        socket.receive(packet2);
        System.out.println(new String(buff, 0, packet2.getLength()));
        socket.close();
    

 

package com.yjf.esupplier.common.test;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * @author shusheng
 * @description UDP 发送接收数据
 * @Email shusheng@yiji.com
 * @date 2019/1/7 23:24
 */
public class ReceiveDemo 

    public static void main(String[] args) throws Exception 

        // 先接收数据
        DatagramSocket socket = new DatagramSocket(6666);
        byte[] buff = new byte[100];
        DatagramPacket packet = new DatagramPacket(buff, buff.length);
        socket.receive(packet);// 接受传来的数据包
        System.out.println(new String(buff, 0, packet.getLength()));

        // 发送数据
        String str = "me too";
        DatagramPacket packet2 = new DatagramPacket(str.getBytes(),
                str.length(), packet.getAddress(), packet.getPort());
        socket.send(packet2);
        socket.close();
    

 

以上是关于UDP 发送接收数据的主要内容,如果未能解决你的问题,请参考以下文章

Java:可以发送和接收 UDP 数据包,但接收到的数据是乱码

udp网络程序-发送接收数据

udp网络程序-发送接收数据

UDP 发送接收数据

JavaSE-21.2.1UDP发送数据接收数据

发送和接收UDP数据[重复]