zoukankan      html  css  js  c++  java
  • UDP发送端&UDP接收端

    UDP发送端:

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    import java.net.SocketException;
    import java.net.UnknownHostException;
    
    public class UdpSendDemo {
    
        public static void main(String[] args) throws IOException {
    
            /*
             * 需求:建立udp发送端
             * 思路:
             * 1.建立可以实现udp传输的socket服务
             * 2.明确具体发送的数据
             * 3.通过socket服务将具体的数据发送出去
             * 4.关闭服务
             */
            
            System.out.println("udp发送端启动.....");
            
            //1.创建udp服务
            DatagramSocket ds = new DatagramSocket(1025);
            
            //2.明确数据
            String s = "注意啦,UDP来了";
            
            //3.发送数据,将数据封装到数据包中。
                //3.1将数据封装到数据包对象中,数据汇明确目的地址和端口
            byte[] buf = s.getBytes();
            DatagramPacket dp = new DatagramPacket(buf, buf.length, 
                    InetAddress.getByName("dell-pc"),10000);
            
                //3.2发送
            ds.send(dp);
            
            ds.close();
            
        }
    
    }

    UDP接收端:

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.SocketException;
    
    public class UdpReceiveDemo {
    
        public static void main(String[] args) throws IOException {
            
            /*
             * 创建udp的接收端
             * 思路:
             * 1.创建socket服务,明确一个端口。
             * 2.收数据
             * 3.将其中所需要的数据取出来。ip,data,port
             * 4.关闭资源
             */
            
            System.out.println("udp接收端启动了.....");
            //1.创建socket服务
            DatagramSocket ds = new DatagramSocket(10000);
            
            //2.使用socket的接受方法,接收数据,需要到收到的数据存储到数据包中
            //可以通过数据包对象的方法对收到的数据进行解析
                //2.1创建一个数据包
            byte[] buf = new byte[1024];
            DatagramPacket dp = new DatagramPacket(buf, buf.length);
            
            ds.receive(dp);//阻塞式方法
            
            //3.通过数据包对象解析收到的数据,使用数据包的方法
            String ip = dp.getAddress().getHostAddress();
            int port = dp.getPort();
            //获取文字数据
            String str = new String(dp.getData(),0,dp.getLength());
            System.out.println(ip+":"+port+"------"+str);
            
            //4.关闭资源
            ds.close();
        
        }
    
    }
  • 相关阅读:
    el-upload文件上传组件
    vue 自定义指令input表单的数据验证
    vue-resourse简单使用方法
    go语言基本运算符
    第4课
    第3课
    第2课
    第1课
    第0课
    第0课
  • 原文地址:https://www.cnblogs.com/qjlbky/p/5931190.html
Copyright © 2011-2022 走看看