UDP发送和接受数据

发送数据

java 复制代码
public class sendmessage {
    public static void main (String[] args) throws IOException {
        DatagramSocket ds=new DatagramSocket();

        //打包数据开始
        String s="hello world";
        byte[] b=s.getBytes();
        //获取InetAddress的对象
        InetAddress address=InetAddress.getByName("127.0.0.1");
        //端口号
        int port=10086;
        //打包数据结束

        DatagramPacket dp=new DatagramPacket(b,b.length,address,port);

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

接受数据

java 复制代码
public class receivemessage {
    public static void main (String[] args) throws IOException {
        //接受的时候一定要绑定端口
        //绑定的端口一定要和发送的端口保持一致
        DatagramSocket ds=new DatagramSocket(10086);

        //接受数据包
        byte[] b=new byte[1024];
        DatagramPacket dp=new DatagramPacket(b,b.length);
        ds.receive(dp);

        //解析数据包
        //获取数据
        byte[] result=dp.getData();
        int len=dp.getLength();
        //获取发送方的地址
        InetAddress address=dp.getAddress();
        //获取发送方的发送端口
        int port=dp.getPort();

        System.out.println(new String(result,0,len));
        System.out.println("发送方的地址"+address+"发送方的发送端口"+port);

        ds.close();
    }
}
要先运行接收端再运行发送端,否则无法收到数据

初学者,见解不足,如有错误请指出

相关推荐
周杰伦_Jay1 小时前
【网络编程、架构设计与海量数据处理】网络编程是数据流转的血管,架构设计是系统扩展的骨架,海量数据处理是业务增长的基石。
网络·golang·实时互动·云计算·腾讯云·语音识别
Jewel Q2 小时前
防火墙NAT策略处理流程
运维·服务器·网络
失重外太空啦2 小时前
NFS服务器的搭建
运维·服务器·网络
矮油0_o2 小时前
15.套接字和标准I/O
服务器·c语言·网络·网络编程·socket
ai旅人2 小时前
深入理解OkHttp超时机制:连接、读写、调用超时全面解析
java·网络·okhttp
我也要当昏君2 小时前
4.2 IPv4【2009统考真题】
网络·智能路由器
爱奥尼欧2 小时前
【Linux笔记】网络部分——网络层IP协议
linux·网络·笔记
秋已杰爱3 小时前
技术准备七:websocket
网络·websocket·网络协议
zymill3 小时前
hysAnalyser --- 支持UDP实时流分析和录制功能
udp·音视频·实时音视频·ts流分析·mpegts录制