第四篇、UDP消息发送

2023-10-26


前言

上一篇我们共同学习了TCP文件传输,本篇我们来学习UDP消息发送。


一、UDP通信操作

  1. 发送方:
    1、建立一个socket连接。
    2、建立一个包。
    3、发送包。
    4、关闭资源。
  2. 接收方:
    1、 建立一个socket连接。
    2、接收包
    3、关闭资源

二、代码示例

1.UDP消息发送

代码如下(示例):
客户端:UdpClientDemo类

public class UdpClientDemo {
    public static void main(String[]args) throws Exception{
        //1.建立一个Scoket
        DatagramSocket socket = new DatagramSocket();
        //2.建立包
        String msg = "服务器你好";
        //发送给谁
        InetAddress inetAddress = InetAddress.getByName("localhost");
        int port = 9090;
        DatagramPacket datagramPacket = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,inetAddress,port);
        //3.发送包
        socket.send(datagramPacket);
        //4.关闭资源
        socket.close();
    }
}

服务端:UdpServerDemo类

public class UdpServerDemo {
    public static void main(String[] args) throws Exception {
        //1.开放端口
        DatagramSocket socket = new DatagramSocket(9090);
        //2.接收数据包
        byte[] buffer = new byte[1024];
        DatagramPacket datagramPacket = new DatagramPacket(buffer,0,buffer.length);
        socket.receive(datagramPacket);//阻塞接收

        System.out.println(datagramPacket.getAddress().getHostAddress());
        System.out.println(new String(datagramPacket.getData(),0,datagramPacket.getLength()));
        //3.关闭资源
        socket.close();
    }
}

运行结果:
在这里插入图片描述


总结

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第四篇、UDP消息发送 的相关文章

  • Golang编写的UDP客户端无法接收来自服务器的消息

    我写了一个Java客户端 它向广播地址发送消息 我还编写了一个Java服务器 它接受所有发送的消息并将消息发送回客户端 现在我想尝试在 Go 中做同样的事情 只是为了获得一些经验 服务器工作正常 正在接收消息并对 Java 客户端做出响应
  • 从 iOS 应用程序上的 UDP 服务器接收数据无法在 Linux 服务器上工作,但可以在 macbook pro 上工作 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 背景 我做
  • 什么是 STUN?它是否需要端口转发服务器?

    我对没有基础服务器的 p2p 通信进行了一些研究 并通过了 STUN 据我所知 STUN 是 NAT 打孔 的一种方式 不需要对等方进行端口转发即可连接 这是正确的吗 打孔到底是什么意思 这一切看起来都很脆弱 因为如果不需要端口转发 它就会
  • 如何设置Winsock UDP套接字?

    我想创建一个仅向客户端发送数据的 Winsock UDP 套接字 我希望内核为我选择一个可用的端口 另一方面 我想指出要使用哪个本地 IP 因为我正在运行一些网卡 我尝试过梳理迷宫般的套接字选项 以及将套接字地址中的端口绑定设置为 0 但均
  • 如何使用 ZeroMQ 处理原始 UDP?

    我有一个客户 我无法更改其代码 但我想使用 重新 编写ZeroMQ插座 客户使用原始TCP和原始的UDP插座 我知道我可以使用ZMQ ROUTER RAW对于生的TCP插座 但是原始的怎么样 UDP数据流 ZeroMQ 中对 UDP 的支持
  • 从 ANDROID 2.2 发送 UDP 包(HTC 希望)

    我有一个局域网 我想从我的 android htcdesire 发送一条 udp 消息到我的电脑 它们之间有一个 WLAN 路由器 问题是 UPD 消息永远不会到达 PC Android上的代码 package org example an
  • NTP请求包

    我试图弄清楚我需要在 NTP 请求包中发送 客户端 什么才能从服务器检索 NTP 包 我正在 Cortex M3 Stellaris LM3S6965 上使用 LWIP 据我了解 我将收到 UDP 标头 然后收到具有不同时间戳的 NTP 协
  • 为什么我的 UDP 广播失败?

    我正在尝试发送 UDP 广播 但wireshark 没有报告任何流量 这是执行发送的代码片段 void SendBroadcast String ip 255 255 255 255 int port 30718 String messag
  • 我应该使用哪个高级 API 来管理 iOS 上的 UDP 套接字? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在章节 使用套接字和流 https developer apple com library mac d
  • 错误的 UDP 校验和没有效果:为什么?

    我正在尝试测试 UDP 程序 如果它接收到 UDP 校验和错误的数据 会发生什么情况 奇怪的是 它似乎没有任何效果 并且有效负载被成功接收 至少在 OS X 上是通过环回接口成功接收的 下面是一个示例 其中使用以下方式发送数据SOCK RA
  • HTTP 是否使用 UDP?

    这可能是一个愚蠢的问题 HTTP 是否使用过用户数据报协议 例如 如果使用 HTTP 传输 MP3 或视频 它内部是否使用 UDP 进行传输 From RFC 2616 http www ietf org rfc rfc2616 txt 通
  • 搜索所有网络上的设备

    我想实现一个代码 通过它我可以列出网络上连接的 upnp 兼容媒体渲染器设备 我用谷歌搜索了这个并找到了以下代码扭曲的网站 https twistedmatrix com documents current core howto udp h
  • TCP 兼容性:为什么 TCP 不兼容数据包广播和组播操作?

    http en wikipedia org wiki User Datagram Protocol http en wikipedia org wiki User Datagram Protocol 与 TCP 不同 UDP 与数据包广播
  • VS2015:应用程序无法正确启动(0xc000007b)

    我在 Visual Studio 2015 上为 Windows 10 PC 编写了代码 该应用程序主要关注 UDP 通信 我使用 boost 库 它工作正常 但当我将代码文件夹移至 Windows 7 时 我收到错误 应用程序无法正确启动
  • 致命错误:netinet/in.h:没有这样的文件或目录

    套接字编程 UDP 服务器 我正在尝试使用 UDP 服务器进行消息加密和解密 代码在这里 https www geeksforgeeks org message encryption decryption using udp server
  • C++ UDP Socket端口复用

    如何在 C 中创建客户端 UDP 套接字 以便它可以侦听另一个应用程序正在侦听的端口 换句话说 如何在 C 中应用端口复用 我只想监听一个端口 您可以使用嗅探器来做到这一点 只需忽略来自不同端口的数据包即可 我可能需要阻止它发送一些特定的数
  • 数据包丢失和数据包重复

    我试图找出数据包丢失和数据包重复问题之间的区别 有谁知道 数据包重复 是什么意思 和TCP检测到丢失时重传数据包一样吗 No In TCP 数据包 的传递是可靠的 我认为在这种情况下术语数据应该更好 因为它是面向流的协议 数据包丢失和重复是
  • 您可以bind()和connect() UDP连接的两端吗

    我正在编写一个点对点消息队列系统 它必须能够通过 UDP 运行 我可以任意选择一侧或另一侧作为 服务器 但这似乎不太正确 因为两端都从另一端发送和接收相同类型的数据 是否可以绑定 和连接 两端 以便它们只能彼此发送 接收 这似乎是一种非常对
  • 尝试接收 UDP 多播时出现空指针异常

    在尝试了几次让简单的 UDP 多播接收器工作后 我感到很困惑 在我自己的代码无法按预期工作后 我尝试了 vertx 文档中发布的确切示例 DatagramSocket socket vertx createDatagramSocket ne
  • UDP接收和发送Matlab

    我目前正在努力从外部设备接收数据包 然后将数据发送到另一个设备 我有一个工作 Simulink 模型 但我不知道如何在 Matlab 中对其进行编码 Matlab 中 UDP 接收块的参数如下图所示UDP 接收参数 https i stac

随机推荐

  • 《程序员做饭指南》霸榜 GitHub:不仅有量筒、烧杯,还用上了数学公式?

    对于 GitHub 相信绝大多数程序员都再熟悉不过了 作为目前全球最大的开源软件存储库 GitHub 托管了大量的软件代码 无数开源爱好者聚集于此 也有很多程序员会利用每天的空 摸 闲 鱼 时间逛一逛 GitHub 以此了解最近的热门项目和
  • 解决pandas用in判断结果错误的问题

    问题解析 对于一个series import pandas as pd date series pd Series pd date range 2020 01 01 periods 100 如下的判断会返回False pd to datet
  • 简单的视频剪辑教程:使用win10自带的工具剪切和合并视频

    剪切视频 右键视频文件以 照片 的方式打开视频 如同 点击右上角的编辑 如下图 选择 剪裁 进度条会看到绿球和白球 绿球是当前视频播放的位置 进度条两端都有白球 白球内进度条是要保存的视频 如下图是保存的视频 之后把文件保存 合并视频 找到
  • python dialog使用_dialog的使用方法

    dialog的使用方法 发布时间 2020 06 03 14 09 01 来源 亿速云 阅读 563 作者 Leah 今天小编给大家分享的是dialog的使用方法的介绍 相信大部分人都不太了解 为了让大家更加了解 小编给大家总结了以下内容
  • 1.5 起步 - 安装 Git

    1 5 起步 安装 Git 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 19 初稿 目录 文章目录 1 5 起步 安装 Git 版本说明 目录 安装 Git 1 在 Linux 上安装 2 在 Mac 上安装 Figu
  • struct iphdr IP头部与tcphdr tcp头部与linux中的struct IP IP头部

    struct iphdr IP头部 sk buff gt iphdr usr src linux 2 6 19 include linux ip h struct iphdr if defined LITTLE ENDIAN BITFIEL
  • 用Process Explorer分析进程各个线程CPU占用率

    使用Process Explorer可以很方便查看某个进程各个线程的CPU占用率 可以为排查问题提供帮助 我使用的Process Explorer版本是v16 21 64bit 使用VS 2008创建一个MFC对话框程序 在代码中创建两个线
  • ajax上传 webapi,让webapi只接受ajax请求

    AjaxOnly继承ActionFilterAttribute 代码如下 public class AjaxOnlyAttribute ActionFilterAttribute public override void OnActionE
  • 2022 MathorCup 数学建模B题思路解析

    文章目录 Mathorcup B题题目介绍 一 问题一 1 地图模型 2 路径规划 3 任务分配调度模型 二 问题二 三 问题三 1 分析 1 点冲突 2 边冲突 2 冲突处理及模型评价 Mathorcup B题题目介绍 B题无人仓的搬运机
  • Visual Leak Detector(vld)无法显示内存泄露打印信息解决办法

    如果使用vld时 没有任何泄露信息输出时 关注编译过程是否出现编译警告 warning C4627 include
  • List 转换为 List<实体类>

    步骤 1 for循环遍历list 2 用Object 数组接受每个Object对象 3 将Object 里的参数取出放入 实体对象中 4 将实体对象放进 list lt 实体类 gt 中 String sql SELECT FROM dep
  • JAVA获取对象类名

    对象名 getClass 与类名 class所得到的字符串相同 String a new String aaa System out println a getClass String class 返回true
  • 关于fatal error LNK1104: cannot open file 'uuid.lib'的问题

    关于fatal error LNK1104 cannot open file uuid lib 的问题 今天想要将cl命令配置到命令行中使用 在网上找了一下资料 按照http www oschina net question 234345
  • GPIO的速度的理解

    一 GPIO模式配置 1 输入 输出模式 参考stm32手册 2 GPIO输出模式下 几种速度的区别 1 GPIO 引脚速度 GPIO Speed 2MHz 10MHz 50MHz 又称输出驱动电路的响应速度 芯片内部在I O口的输出部分安
  • 逆变器原理

    逆变器是把直流电转变为交流电的一种装置 它一般包括逆变桥 控制逻辑和滤波电路组成 主要是把各种直流源转变为交流供交流负载使用 一般直流源有蓄电池 干电池 太阳能电池等 可以应用到不间断电源 UPS 太阳能发电转换等 本次来探讨一下逆变桥的工
  • Unity游戏开发——UnityUGUI打包图集

    现在Unity中使用UGUI实现UI的越来越多 我们项目也才4 6 1升级到5 6 3对项目全面升级 5 x中UGUI已经非常成熟 各种资料各种效果都非常多 由于之前一直习惯用NGUI在使用UGUI还是比较顺利的 都是一个作者写的都是控件式
  • 货币战争

    中国人写的关于货币的书籍 卖的比较好 关于xx家族的阴谋论 金融控制了世界 现在xx家族的财富得有多少 有许多人反驳这本书中写的内容 xx家族早已没落了 但是写的还是不错的 推荐推荐 2013 9 29
  • esp32微型计算机,基于ESP32的几款开发板

    ESP32是乐鑫推出的一款芯片 拥有40nm的工艺 双核32位MCU 2 4GHz双模Wi Fi和蓝牙芯片 主频高达230MHz 计算能力可达600DMIPS 下面为大家介绍一些基于ESP32的开发板 1 Heartypatch 一款基于E
  • 【Kafka】docker部署Kafka集群

    目录 Kafka概述 Kafka集群docker部署流程 简述 环境准备 部署流程 参考文献 Kafka概述 以下概述Kafka内的几个核心概念 可参考官方文档 有兴趣可读 kafka apache org Topic与日志 Topic 就
  • 第四篇、UDP消息发送

    文章目录 前言 一 UDP通信操作 二 代码示例 1 UDP消息发送 总结 前言 上一篇我们共同学习了TCP文件传输 本篇我们来学习UDP消息发送 一 UDP通信操作 发送方 1 建立一个socket连接 2 建立一个包 3 发送包 4 关