网络编程—UDP完成数据的发送

UDP完成数据的发送

/*

* 发送端

 */

publicclass UDPSend {

    publicstaticvoid main(String[ ] args) throwsIOException {

       //1,创建DatagramSocket对象

        DatagramSocket sendSocket = newDatagramSocket();

        //2,创建DatagramPacket对象,并封装数据

        //构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。

        byte[ ] buffer = "hello,UDP".getBytes();

        DatagramPacket dp = newDatagramPacket(buffer, buffer.length, InetAddress.getByName("192.168.75.58"),8888);

        //3,发送数据

        sendSocket.send(dp);

        //4,释放流资源

        sendSocket.close();

    }

}

UDP完成数据的接收

/*

 * UDP接收端

 */

publicclass UDPReceive {

    publicstaticvoid main(String[ ] args) throws IOException {

        //1,创建DatagramSocket对象,并指定端口号

        DatagramSocket receiveSocket = new DatagramSocket(8888);

        //2,创建DatagramPacket对象, 创建一个空的仓库

        byte[ ] buffer = newbyte[1024];

        DatagramPacket dp = new DatagramPacket(buffer,1024);

        //3,接收数据存储到DatagramPacket对象中

        receiveSocket.receive(dp);

        //4,获取DatagramPacket对象的内容

        //谁发来的数据  getAddress()

        InetAddress ipAddress = dp.getAddress();

        String ip = ipAddress.getHostAddress();//获取到了IP地址

        byte[ ] data = dp.getData();

        //发来了多少数据 getLenth()

        int length = dp.getLength();

        //显示收到的数据

        String dataStr = new String(data,0,length);

        System.out.println("IP地址:"+ip+ "数据是"+ dataStr);

        //5,释放流资源

        receiveSocket.close();

    }

}

猜你喜欢

转载自blog.csdn.net/qq_41139281/article/details/80368260
今日推荐