UDP通信程序练习

发送端代码:

/*
    UDP发送数据:数据来自于键盘录入,如果输入的数据是886,发送数据结束
 */
public class SendDemo {
    public static void main(String[] args) throws IOException {
        //1.创建发送端对象
        DatagramSocket ds = new DatagramSocket();

        //2.创建数据,数据来自于键盘录入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line = br.readLine()) != null) {
            if (line.equals("886")) {
                break;
            }

            //将录入的数据打包
            byte[] bys = line.getBytes();
            DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("192.168.50.76"), 12345);

            //发送数据
            ds.send(dp);
        }

        //关闭发送端
        ds.close();
    }
}

接收端代码:

/*
    UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收
 */
public class ReceviedDemo {
    public static void main(String[] args) throws IOException {
        //创建DatagramSokcet对象接收端
        DatagramSocket ds = new DatagramSocket(12345);

        while (true) {
            //创建数据包,用于接收数据
            byte[] bys = new byte[1024];
            DatagramPacket dp = new DatagramPacket(bys, bys.length);

            //调用方法接收数据
            ds.receive(dp);

            //解析数据包,并把数据在控制台输出
            System.out.println("数据是:" + new String(dp.getData(), 0, dp.getLength()));
        }

    }
}

发送端发送数据:

 

 接收端收到数据:

posted @ 2020-05-07 19:36  硬盘红了  阅读(199)  评论(0编辑  收藏  举报