首页 > 编程语言 >C# udp通讯 多网卡/虚拟机指定某个网卡通讯

C# udp通讯 多网卡/虚拟机指定某个网卡通讯

时间:2024-09-18 23:04:31浏览次数:7  
标签:通讯 udpClient ip 虚拟机 网卡 IPEndPoint new IPAddress

LocalIP = GetAllAdaptersIPAddress();
Task.Run(() =>
{
try
{
//接收广播
UdpClient udpClient = new UdpClient(new IPEndPoint(IPAddress.Any, 6789));
while (true)
{
IPEndPoint AnyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] data = udpClient.Receive(ref AnyIP);

}
}
catch (Exception e)
{
ShowMsg(e.Message);
LogError(e.Message);
}
Thread.Sleep(10000);
});
Task.Run(() =>
{
try
{

using (UdpClient udpClient = new UdpClient(new IPEndPoint(LocalIP, 6789)) { })
{
IPEndPoint broadcastEP = new IPEndPoint(IPAddress.Broadcast, 6789);

while (true) // 无限循环发送
{
// 发送广播
udpClient.SendAsync(sendBytes1, sendBytes1.Length, broadcastEP);

Thread.Sleep(2000);
}
}
}
catch (Exception e)
{
ShowMsg(e.Message);
LogError(e.Message);
}
Thread.Sleep(10000);
});
//获取本机IP

public static IPAddress GetAllAdaptersIPAddress()
{
foreach (var adapter in NetworkInterface.GetAllNetworkInterfaces())
{
if (adapter.Description.Contains("Loopback")) continue;//跳过 环回地址127.0.0.1


if (adapter.OperationalStatus == OperationalStatus.Up) //连接上的网口
{
var addresses = adapter.GetIPProperties().UnicastAddresses;


foreach (var ip in addresses)
{
if (ip.Address.AddressFamily == AddressFamily.InterNetwork)
{
if(ip.Address.ToString().Contains("192.168.8"))
{
return ip.Address;
}

}
}
}
}
return null;

}

 

 

标签:通讯,udpClient,ip,虚拟机,网卡,IPEndPoint,new,IPAddress
From: https://www.cnblogs.com/QJZY/p/18419526

相关文章

  • 接收网络包的过程——从硬件网卡解析到IP层
    当一些网络包到来触发了中断,内核处理完这些网络包之后,我们可以先进入主动轮询poll网卡的方式,主动去接收到来的网络包。如果一直有,就一直处理,等处理告一段落,就返回干其他的事情。当再有下一批网络包到来的时候,再中断,再轮询poll。这样就会大大减少中断的数量,提升网络处理的效率,这......
  • pve7.2虚拟机 lvm磁盘扩容,增加硬盘操作
    参考:https://blog.csdn.net/qq_32429805/article/details/132230402之前安装pve时候只有256的ssd,最近安装的虚拟机较多,给加块闲置硬盘,顺便学习一下,像pve这种虚拟机系统,硬盘应该可以像nas你这样随时增加,而不影响上层应用,我自己也是摸索着做。一、安装好硬盘后打开pve的管理页面,......
  • 史无前例,移植V8虚拟机到纯血鸿蒙系统
    作者:京东科技于飞跃一、背景   如图所示,Roma框架是我们自主研发的动态化跨平台解决方案,已支持iOS,android,web三端。目前在京东金融APP已经有200+页面,200+乐高楼层使用,为保证基于Roma框架开发的业务可以零成本、无缝运行到鸿蒙系统,需要将Roma框架适配到鸿蒙系统。Rom......
  • 开源即时通讯IM框架MobileIMSDK的H5端技术概览
    一、基本介绍MobileIMSDK的H5端是一套纯JS编写的基于标准WebSocket的即时通讯库:1)超轻量级、极少依赖;2)纯JS编写、高度提炼,简单易用;3)基于标准WebSocket协议,客户端兼容性好;4)支持运行于iOS、Android等移动端浏览器和各种PC端浏览器;5)能与 MobileIMSDK(Github托管链接)的各种APP原......
  • macOS Sequoia 正式版(24A335)黑苹果/Mac/虚拟机系统镜像
    “ 以下内容来自于黑果魏叔官网”镜像特点完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clover引导分区(如有需要,可以自行直接替换opencore分区文件为clover引导文件)备注:此镜像仅适用与16g优盘以及16g以上文件哈希值:md5:......
  • 在 fnOS上安装 KVM 虚拟化,并使用 Cockpit 网页管理虚拟机
    在fnOS系统上安装KVM虚拟化,并使用Cockpit进行网页管理,可以按照以下步骤进行:1.安装KVM虚拟化组件首先,更新软件列表和系统包:sudoaptupdate&&sudoaptupgrade-y安装KVM及相关工具软件:sudoaptinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-u......
  • ROS的通讯机制(一):常用命令
        一、rosnode:操作节点        rosnode是用于获取节点信息的命令。相关命令:rosnodeping测试到节点的连接状态rosnodelist列出活动节点rosnodeinfo打印节点信息rosnodemachine列出指定设备上节点rosnodekill......
  • 深入理解Nova组件与虚拟机生命周期管理
    在OpenStack学习旅程的第32天,我们深入探索了Nova这一核心组件,它是OpenStack云中负责计算资源管理和虚拟机生命周期控制的“大脑”。Nova不仅负责管理虚拟机的创建、调度、执行和销毁,还提供了丰富的API接口,使得用户能够灵活地与云基础设施进行交互。虚拟机生命周期管理虚拟机的生命......
  • 【大数据分析】基于Spark哔哩哔哩数据分析舆情推荐系统 b站(完整系统源码+数据库+开发
    文章目录【大数据分析】基于Spark哔哩哔哩数据分析舆情推荐系统b站(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅一、项目概述二、研究意义三、背景四、国内外研究现状五、开发技术介绍六、算法介绍 七、数据库设计 八、系统启动九、项目展......
  • OpenCore引导安装苹果系统,VMware虚拟机安装苹果系统
    Windows下VMware虚拟机安装macOS系统,常规安装都需要使用到unlocker解锁工具.而直接使用OpenCore引导安装,就可以不使用unlocker解锁工具也能安装macOS系统,使用OpenCore引导的优点还是有的,比如改系统的三码或五码还是比较方便,这里将最近配置的OpenCore引导分享给大家一起研究.......