C# UDP广播和接收示例

2024-02-28

问题: 我正在尝试将 udp 套接字绑定到特定地址。我会广播一条消息。同一个套接字需要能够接收消息。

当前代码:

static void Main()
{
    UdpClient Configuration = new UdpClient(new IPEndPoint(IPAddress.Parse(data.IPAddress), configuration.Port));  //set up the bind to the local IP address of my choosing
    ConfigurationServer.EnableBroadcast = true;
    Configuration.Connect(new IPEndpoint(IPAddress.Parse(data.BroadcastIP), configuration.Port);
    Listen();

 }

private void Listen()
{
    Task.Run(async () =>
            {
                while (true)
                {
                    var remoteIp = new IPEndPoint(IPAddress.Any, configuration.Port);
                    var data = await ConfigurationServer.ReceiveAsync();

                    // i would send based on what data i received here
                    int j = 32;
                }
            }
});
}   

我没有在监听线程上接收数据。我知道另一端的代码可以正常工作,并向 IP/端口组合发送定向 UDP 消息。


它可以简单地完成为

int PORT = 9876;
UdpClient udpClient = new UdpClient();
udpClient.Client.Bind(new IPEndPoint(IPAddress.Any, PORT));

var from = new IPEndPoint(0, 0);
var task = Task.Run(() =>
{
    while (true)
    {
        var recvBuffer = udpClient.Receive(ref from);
        Console.WriteLine(Encoding.UTF8.GetString(recvBuffer));
    }
});

var data = Encoding.UTF8.GetBytes("ABCD");
udpClient.Send(data, data.Length, "255.255.255.255", PORT);

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

C# UDP广播和接收示例 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • 从 NSBundle 获取 nil 路径

    我在项目中创建了一个新文件夹 在其中复制了图像 称为 io jpg 我还检查了构建阶段 gt 复制捆绑资源 文件就在那里 所以我试图获取这张图片的路径 NSBundle bundle NSBundle mainBundle NSString
  • ActiveMQ如何处理关闭的会话

    我正在使用 ActiveMQ 将电子邮件消息排入队列 消费者读取队列并发送电子邮件 在启动时 我注册一个生产者并永久缓存它 PooledConnectionFactory factory new PooledConnectionFactor
  • 词法或处理器问题:未找到 boost/config/user.hpp' 文件

    当我在 Xcode 中运行 React Native 应用程序时 它显示错误 boost config user hpp 文件未找到 而且当我使用命令 react native run ios 运行应用程序时 我在终端中收到错误 Comma
  • gdax-java 作为库的实现

    我正在尝试实现这个API https github com robevansuk gdax java https github com robevansuk gdax java以便能够通过 Coinbase 创建订单 提取资金和存入资金并在
  • 在ANDROID中打开一个activity而不在manifest文件中声明它?

    我想打开一个活动而不在清单文件中声明它 我不知道这是否可能 我真正想要的是使用意图从我的程序中动态打开一个活动 如果可能的话 任何人都可以帮助我吗 不可能 虽然我不确定你的意思是 动态打开活动 See http developer andr
  • 覆盖 FOSUserBundle 路由 Symfony2

    我想覆盖 FOSUserBundle 的一些路由 MyBundle Resources config routing security yml fos user security login path locale login defaul
  • Spyder 内部问题,如何解决?

    我对编码完全陌生 但是 当我尝试运行如图所示的一些代码时 出现了这个问题 我尝试重新安装但不起作用 Spyder 维护者在这里 带来不便敬请谅解 这是 Anaconda 中的一个错误 我们已经向他们报告了该错误 但尚未修复 如果您只需要使用
  • 将 SVG 元素添加到 html 文件中?

    我想将一些 SVG 元素添加到 html 文件中 我发现链接说不支持此功能 文档类型必须是 xhtml 但我正在使用一些带有 html 的 javascript 库 这些库允许我在其中使用 SVG Raphael SVG Web 等 那么有
  • 在开发过程中禁用浏览器缓存 css 和 js 文件

    如何在应用程序开发过程中禁用浏览器缓存 以便每当我们对本地主机 或任何开发环境 中的 css 或 js 文件进行任何更改时 我们都不必在浏览器上进行硬刷新才能看到更改 对所有 css 和 js 都尝试这个 这个例子你应该在所有css和js中
  • Laravel 中间件单元测试

    我正在尝试在 Laravel 中为我的中间件编写单元测试 有谁知道教程 或者有这方面的例子吗 我已经写了很多代码 但是一定有更好的方法来测试handle方法 使用 Laravel 5 2 我通过向中间件传递带有输入的请求和带有断言的闭包来对
  • 如何让 Scalaz ZIO 变懒?

    我有一个严重的副作用函数 想想数据库调用 我想将其用作惰性值 以便仅在第一次使用时调用它 如果从未使用过则根本不会调用 我该如何使用 ZIO 做到这一点 如果我的程序如下所示 则该函数仅被调用一次 但甚至根本不使用结果 import sca
  • 登录页面Cognito的定制

    我知道可以在 Cognito 提供的登录页面上自定义一些值 但这对我来说还不够 是否可以完全定制 我只使用网络应用程序中的第三方联合身份验证 是否可以更改灰色背景 或者放在那里完全不同的观点 由于背景灰色无法再修改 我们可以使用一些 CSS
  • 如何分析Websphere core*.dmp 文件和Snap*.trc 文件?

    全部 我的应用程序在 websphere 应用程序服务器 7 0 上运行 我得到了一些核心转储和跟踪文件 例如 核心 20110909 164930 3828 0001 dmp and 快照 20110909 164930 3828 000
  • 使用 Flash、PHP、Red5 从浏览器录制视频

    我希望构建一个应用程序 使用它可以录制视频 以及音频 和音频 最好仅录制 mp3 格式的音频 根据我所做的一些研究 我发现我需要一个 Flash 或 Flex 客户端应用程序 一个 RTMP 服务器 RED5 最好 因为它是免费的 这是我用
  • 加载时重置缩放级别

    我没有 iPhone 所以无法自己测试这一点 但根据客户的说法 如果他放大以更轻松地单击链接 那么当下一页加载时 页面会保持放大状态 而用户必须手动缩小再次 请注意 这不是响应式网站 它没有设置元宽度 设备宽度 有什么办法可以防止这种情况发
  • 何时调用obtainPermanentIDsForObjects:?

    我目前遇到一个问题 即在后台子线程 其父级是主 UI 线程上下文 上创建新对象并保存会导致我的NSFetchedResultsController显示两个新对象 一个带有临时对象objectID 以及一个具有永久objectID 这似乎是某
  • 在 Chrome 中将焦点设置在 iframe 上

    我有一个 iframe id chat with designMode on 在 Chrome 中 在 Enter 按键事件上我调用该函数send 它获取 iframe 内容并将其写入套接字 我的问题是 当清除 iframe 时 我失去了焦
  • 开发流程、部署、GitHub

    我正在努力为我们的团队制定一个开发流程 任何时候 我们都有 3 4 分散的开发人员在我们的代码库上工作 我们已经开始使用 GIT 我们的想法是 工作不仅仅是实时修复 然后他们分叉了 master 分支 每个人在服务器上都有自己的开发环境 并
  • 函数数组和分段错误 - 无效的内存引用

    我正在尝试设置我的功能f作为数组 但我收到以下错误 Program received signal SIGSEGV Segmentation fault invalid memory reference Backtrace for this
  • C# UDP广播和接收示例

    问题 我正在尝试将 udp 套接字绑定到特定地址 我会广播一条消息 同一个套接字需要能够接收消息 当前代码 static void Main UdpClient Configuration new UdpClient new IPEndPo