Java网络通信—UDP

1.总揽

2.客户端

使用udp通信,需要三个东西:数据本体、通道、数据包装工具

java 复制代码
        Scanner scanner = new Scanner(System.in);
        String string = scanner.next();

        byte[] bytes = string.getBytes();// 数据本体

        DatagramSocket datagramSocket = new DatagramSocket();// 通道

        DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, InetAddress.getByName("127.0.0.1"),8888);// 数据包装工具

        datagramSocket.send(datagramPacket);// 将数据包装过的数据通过通道发送

3.服务端

java 复制代码
            byte[] data = new byte[1024*64];// 数据本体

            DatagramSocket datagramSocket = new DatagramSocket(8888); // 通道

            DatagramPacket datagramPacket = new DatagramPacket(data,data.length);// 数据包装

            datagramSocket.receive(datagramPacket);// 将数据接受到data

            String string = new String(data,0,datagramPacket.getLength());

            System.out.println("receive:"+string);
相关推荐
醇氧18 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
sunxunyong18 小时前
doris运维命令
java·运维·数据库
菜鸟起航ing18 小时前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
古城小栈18 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
MapGIS技术支持19 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
Coder_Boy_19 小时前
业务导向型技术日志首日记录(业务中使用的技术栈)
java·驱动开发·微服务
程序员zgh19 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子19 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式
by__csdn19 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
喵了meme20 小时前
C语言实战5
c语言·开发语言