美文网首页
UDP接收数据

UDP接收数据

作者: 勇者与王者 | 来源:发表于2019-10-06 19:54 被阅读0次
    package Day32_Net;
    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.SocketException;
    
    /**
     * @Author quzheng
     * @Date 2019/10/6 16:13
     * @Version 1.0
     *
     * 实现UDP 接收端
     *  实现封装数据包 java.net.DatagramPacket
     *
     *  实现数据传输  java.net.DatagramSocket
     *
     *  1.创建 DatagramSocket 对象 绑定端口号 和发送端的一致
     *  2.创建字节数组,接收 发送来的数据
     *  3.创建 DatagramSocket
     *  4.调用 DatagramSocket 对象方法:
     *      receive(DatagramPacket dp) 接收数据,
     *  5.拆包 : 发送端IP地址,接收到的字节个数,发送端的端口号
     *          数据包对象 DatagramPacket 方法 getAddress() 获取发送端的IP地址对象
     *          数据包对象 DatagramPacket 方法 getLength()
     *          数据包对象 DatagramPacket 方法 getPort()
     *  6.关闭资源
     */
    public class UDPReceive {
        public static void main(String[] args) throws IOException {
            //
            DatagramSocket ds = new DatagramSocket(6000);
    
            byte [] data = new byte[1024];
    
            DatagramPacket dp = new DatagramPacket(data,data.length);
    
            ds.receive(dp);
    
            String ip = dp.getAddress().getHostAddress();
    
            int port = dp.getPort();
    
            int length = dp.getLength();
    
            // 不能直接打印byte 打印的是对象地址
            System.out.println(new String(data,0,length)+"..."+ip+":"+port);
    
            ds.close();
        }
    }
    
    
    

    相关文章

      网友评论

          本文标题:UDP接收数据

          本文链接:https://www.haomeiwen.com/subject/nhxppctx.html