UDP 最简单DEMO

    xiaoxiao2021-12-14  21

    UDP服务端

    package com.xykj.demo;

    import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;

    public class Demo {

    /** * @param args */ public static void main(String[] args) { try { //创建DatagramSocket 并指定 端口号9000 DatagramSocket mDatagramSocket = new DatagramSocket(9000); byte[] data = new byte[1024]; //接收一个快件 数据包 --- 数据将存放在data 中,data.length 指的是 缓冲区的大小 DatagramPacket mDatagramPacket = new DatagramPacket(data, data.length); //mDatagramSocket 接收数据,数据都装在mDatagramPacket中 //堵塞的方法 mDatagramSocket.receive(mDatagramPacket); //将接收到的数据转化为字符串 mDatagramPacket.getData() 指的是data mDatagramPacket.getLength() 指的是接收的长度 String messageString = new String(mDatagramPacket.getData(),0,mDatagramPacket.getLength()); //获取到对方的IP地址 System.out.println(mDatagramPacket.getAddress()); //获取到对方的端口号 System.out.println(mDatagramPacket.getPort()); System.out.println(messageString); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

    }

    UDP客户端

    package com.xykj.demo;

    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 Demo {

    public static void main(String[] args) { try { //创建一个DatagramSocket 指定端口号为8888 DatagramSocket mDatagramSocket = new DatagramSocket(8888); //打包想要发送的数据,包括填写对方的IP 端口等数据, //以确保数据可以到达对方手上 DatagramPacket mPacket = new DatagramPacket("hello".getBytes(), "" "hello".getBytes().length, InetAddress.getByName("127.0.0.1"), 9000); //mDatagramSocket 调用send方法发送数据包mPacket //通知快递员将包裹发送出去 mDatagramSocket.send(mPacket); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

    }

    转载请注明原文地址: https://ju.6miu.com/read-971532.html

    最新回复(0)