首页 > 代码库 > UDP发送端&UDP接收端

UDP发送端&UDP接收端

UDP发送端:

import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.net.UnknownHostException;public class UdpSendDemo {    public static void main(String[] args) throws IOException {        /*         * 需求:建立udp发送端         * 思路:         * 1.建立可以实现udp传输的socket服务         * 2.明确具体发送的数据         * 3.通过socket服务将具体的数据发送出去         * 4.关闭服务         */                System.out.println("udp发送端启动.....");                //1.创建udp服务        DatagramSocket ds = new DatagramSocket(1025);                //2.明确数据        String s = "注意啦,UDP来了";                //3.发送数据,将数据封装到数据包中。            //3.1将数据封装到数据包对象中,数据汇明确目的地址和端口        byte[] buf = s.getBytes();        DatagramPacket dp = new DatagramPacket(buf, buf.length,                 InetAddress.getByName("dell-pc"),10000);                    //3.2发送        ds.send(dp);                ds.close();            }}

UDP接收端:

 

import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;public class UdpReceiveDemo {    public static void main(String[] args) throws IOException {                /*         * 创建udp的接收端         * 思路:         * 1.创建socket服务,明确一个端口。         * 2.收数据         * 3.将其中所需要的数据取出来。ip,data,port         * 4.关闭资源         */                System.out.println("udp接收端启动了.....");        //1.创建socket服务        DatagramSocket ds = new DatagramSocket(10000);                //2.使用socket的接受方法,接收数据,需要到收到的数据存储到数据包中        //可以通过数据包对象的方法对收到的数据进行解析            //2.1创建一个数据包        byte[] buf = new byte[1024];        DatagramPacket dp = new DatagramPacket(buf, buf.length);                ds.receive(dp);//阻塞式方法                //3.通过数据包对象解析收到的数据,使用数据包的方法        String ip = dp.getAddress().getHostAddress();        int port = dp.getPort();        //获取文字数据        String str = new String(dp.getData(),0,dp.getLength());        System.out.println(ip+":"+port+"------"+str);                //4.关闭资源        ds.close();        }}

 

UDP发送端&UDP接收端