zoukankan      html  css  js  c++  java
  • DatagramPacket对象

            // 发送端
            Scanner sc = new Scanner(System.in);
            // 1.创建数据包对象,封装要发送的数据,接收端的IP,接收端的接口
            InetAddress inet = InetAddress.getByName("192.168.1.172");
            // InetAddress inet =InetAddress.getLocalHost();//本机
            // 2.创建码头对象,进行数据包的发送
            DatagramSocket ds = new DatagramSocket();
            while (true) {
                System.out.println("请输入要传输的数据:");
                String mes = sc.nextLine();
                byte[] b = mes.getBytes();
                DatagramPacket dp = new DatagramPacket(b, b.length, inet, 8000);
                ds.send(dp);
            }
            // 3.关闭资源
            // ds.close();
    //接收端
            //1.创建码头,绑定端口号
            DatagramSocket ds =new DatagramSocket(8000);
            //2.创建字节数组,接收发来的数据
            byte [] b =new byte [1024];
            while(true){
                //3.创建数据包对象
                DatagramPacket dp =new DatagramPacket(b, b.length);
                //4.接收数据
                ds.receive(dp);
                //5.拆包
                int len =dp.getLength();
                String ip =dp.getAddress().getHostAddress();
                int port =dp.getPort();
                System.out.println("ip:"+ip+"端口号:"+port+"内容:"+new String (b,0,len));

    UDP协议,接收端不需要明确数据的来源,只需要接收到数据即可。

    DatagramPacket创建对象时,指定了数据的IP地址和端口号,

    receive 方法 --接收数据包

    send 方法 -- 发送数据包

  • 相关阅读:
    Zookeeper zkCli.sh常用命令
    windows 服务
    Zookeeper的下载安装
    Zookeeper 基础知识
    在Java中使用Redis
    Redis 集群(cluster)
    Redis 哨兵(Sentinel)机制
    Redis 主从复制
    Redis 发布/订阅
    Redis 事务
  • 原文地址:https://www.cnblogs.com/Jxliu/p/9234762.html
Copyright © 2011-2022 走看看