Java--网络编程(5)UDP编程

其实UDP和TCP的代码的差别不大,个人觉得也就是将其数据包装好去发送;
还有就是,用TCP时,先启动客户端会握手失败。而UDP中,不会出现异常,但数据并不会被接收端收到。

发送端:

  //发送端
    @Test
    public void sender(){

        DatagramSocket socket= null;
        try {
            socket = new DatagramSocket();

            String str="我是UDP";
            InetAddress inet=InetAddress.getByName("127.0.0.1");
            byte[] bytes=str.getBytes();
            DatagramPacket packet=new DatagramPacket(bytes,0,bytes.length,inet,5678);

            socket.send(packet);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(socket!=null){
                socket.close();
            }
        }
    }

接收端:

    //接收端
    @Test
    public void receive(){

        DatagramSocket socket= null;
        try {
            socket = new DatagramSocket(5678);

            byte[] buffer=new byte[1024];
            DatagramPacket packet=new DatagramPacket(buffer,0,buffer.length);

            socket.receive(packet);

            System.out.println(new String(packet.getData(),0,packet.getLength()));
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(socket!=null){
                socket.close();            }
        }
    }

(未try-catch代码如下:)

发送端:

    //发送端
    @Test
    public void sender() throws IOException {

        DatagramSocket socket=new DatagramSocket();

        String str="我是UDP";
        InetAddress inet=InetAddress.getByName("127.0.0.1");
        byte[] bytes=str.getBytes();
        DatagramPacket packet=new DatagramPacket(bytes,0,bytes.length,inet,5678);

        socket.send(packet);

        socket.close();
    }

接收端:

    //接收端
    @Test
    public void receive() throws IOException {

        DatagramSocket socket=new DatagramSocket(5678);

        byte[] buffer=new byte[1024];
        DatagramPacket packet=new DatagramPacket(buffer,0,buffer.length);

        socket.receive(packet);

        System.out.println(new String(packet.getData(),0,packet.getLength()));

        socket.close();
    }
发布了49 篇原创文章 · 获赞 0 · 访问量 1413

猜你喜欢

转载自blog.csdn.net/qq_43616001/article/details/104024742