首页 > Java > java教程 > 正文

java中UDP如何发送数据

舞姬之光
发布: 2025-12-19 19:07:02
原创
236人浏览过
使用DatagramSocket和DatagramPacket可实现Java中UDP数据发送,1. 创建DatagramSocket对象以绑定本地端口;2. 将数据转换为字节数组并封装成DatagramPacket,指定目标IP和端口;3. 调用send()方法发送数据包;4. 发送完成后关闭socket释放资源,需确保接收方在对应地址端口监听且防火墙允许通信,适用于实时性要求高、可容忍丢包的场景。

java中udp如何发送数据

在Java中使用UDP发送数据,主要依赖于DatagramSocketDatagramPacket两个类。UDP是无连接的协议,因此不需要建立连接,直接将数据打包发送到指定地址和端口即可。

1. 创建DatagramSocket

DatagramSocket用于发送和接收UDP数据包。发送方可以指定本地端口,也可以由系统自动分配。

DatagramSocket socket = new DatagramSocket(); // 系统自动绑定端口
登录后复制

2. 准备要发送的数据

数据需要转换为字节数组,并封装成DatagramPacket。同时要指定目标主机的IP地址和端口号。

String message = "Hello, UDP!";
byte[] buffer = message.getBytes();
InetAddress address = InetAddress.getByName("127.0.0.1"); // 目标IP
int port = 9876; // 目标端口
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, port);
登录后复制

3. 发送数据

通过DatagramSocketsend()方法发送数据包。

立即学习Java免费学习笔记(深入)”;

PHP5 和 MySQL 圣经
PHP5 和 MySQL 圣经

本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。

PHP5 和 MySQL 圣经 485
查看详情 PHP5 和 MySQL 圣经
socket.send(packet);
登录后复制

4. 关闭Socket

发送完成后,应关闭socket以释放资源。

socket.close();
登录后复制

完整的简单示例:

import java.net.*;

public class UDPSender {
    public static void main(String[] args) throws Exception {
        DatagramSocket socket = new DatagramSocket();
        String msg = "Hello from UDP sender";
        byte[] buf = msg.getBytes();
        InetAddress destAddr = InetAddress.getByName("127.0.0.1");
        int destPort = 9876;
        DatagramPacket packet = new DatagramPacket(buf, buf.length, destAddr, destPort);
        socket.send(packet);
        socket.close();
        System.out.println("数据已发送");
    }
}
登录后复制

基本上就这些。注意确保接收方在同一IP和端口监听,且防火墙允许该端口通信。UDP不保证送达,适合对实时性要求高、能容忍少量丢失的场景。

以上就是java中UDP如何发送数据的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号