UDP通信

1.需要建立【发送端】和一个【接收端】

2.代码

1)发送端

package shapes;

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

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            // 创建DatagramSocket
            DatagramSocket ds = new DatagramSocket();
            //创建数据并打包
            byte[] bys = "hello UDP!".getBytes();
            
            DatagramPacket dp = new DatagramPacket(bys,bys.length,InetAddress.getByName("192.168.90.114"),10086);
            
            // 发送数据
            ds.send(dp);
            // 关闭发送端
            ds.close();
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

2)接收端

package shapes;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class UDPDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            // 创建DatagramSocket
            DatagramSocket ds = new DatagramSocket(10086);
            
            // 创建数据包
            byte[] bys = new byte[1024];
            DatagramPacket dp = new DatagramPacket(bys, bys.length);
            
            // 接收数据
            try {
                ds.receive(dp);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            // 解析数据包
            byte[] datas = dp.getData();
            // 获取实际接受到的长度
            int len = dp.getLength();
            String dataStr = new String(datas, 0, len);
            System.out.println("数据是:" + dataStr);
            
            //关闭接收端
            ds.close();
            
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

}

 

3.结果:先运行【接收端】再运行【发送端】

 

 

参阅:https://www.bilibili.com/video/BV1vk4y117fU?p=347

 

posted @ 2022-03-29 14:00  蜗牛的礼物  阅读(42)  评论(0编辑  收藏  举报