通过多张网卡发送UDP多播(组播)数据

2023-05-16

在具有多个网卡的机器上,如果想要从每个网卡发送UDP数据,一般的做法是:

针对每张网卡的每个IP都绑定一个SOCKET,然后发送的时候针对每个SOCKET都发送一次。

但是如果你要发送多播数据,在有的系统上(我所测试的Win2K),即使通过每个IP都发送了多播包,但是系统会自动选择一张默认的网卡来发送你的多播包。

这是你可以通过设置下面这个Socket选项来更改这种默认行为:

unsigned long addr = inet_addr("172.22.102.73");

setsockopt((*iter_Shadowtable_ip)->multicast_Socket.socket, IPPROTO_IP, IP_MULTICAST_IF, (char *)&addr, sizeof(addr));

其中,"addr"就是你想要发送多播包的网卡的一个IP。

你只需要在每次发送多播包之前都调用上面两句就行了。

转载于:https://www.cnblogs.com/kernelfans/archive/2009/05/20/1470736.html

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

通过多张网卡发送UDP多播(组播)数据 的相关文章

  • NTP请求包

    我试图弄清楚我需要在 NTP 请求包中发送 客户端 什么才能从服务器检索 NTP 包 我正在 Cortex M3 Stellaris LM3S6965 上使用 LWIP 据我了解 我将收到 UDP 标头 然后收到具有不同时间戳的 NTP 协
  • C++ 反序列化通过 UDP 从 C# 应用程序发送的对象

    我有一个申请c 它连接到另一个应用程序 编写为c 通过UDP 我更喜欢高性能的解决方案 因为我希望测量事件客户端 某些处理服务器端和客户端处理完成的响应之间的时间 本质上是 往返延迟 我有一个 C 对象 例如 public class Pa
  • 如果客户端在服务器之后启动,则 GStreamer v1.0 UDP 多播流无法正确解码

    我正在尝试使用 GStreamer 进行 UDP 多播屏幕流传输 我的投屏服务器应该在 Windows 上运行 and my 客户端应在 Linux 上运行 如果我在服务器之前启动客户端 一切都很好 问题是当我启动客户端并且服务器已经启动时
  • 用于接收 UDP 数据包的可变大小缓冲区

    我有一个 UDP 套接字 它将接收一些可能不同大小的数据包 并且我异步处理它 socket async receive from boost asio buffer buffer 65536 senderEndpoint handler 这
  • 为什么UDP服务器上的UDP客户端端口会改变

    我一直在关注一个简 单的 UDP 服务器 客户端教程 发现here http www binarytides com udp socket programming in winsock 我有一个关于客户端连接到服务器的端口的快速问题 仅从代
  • 更改Windows下的默认套接字缓冲区大小[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我无法更改的应用程序正在丢弃一些传入的 UDP 数据包 我怀疑接收缓冲区溢出 是否有注册表设置可以使默认缓冲区大于 8KB From th
  • Java UDP 服务器,并发客户端

    下面的代码足以接受并发 UDP 传输吗 更具体地说 如果 2 个客户端同时传输 当我调用 receive 时 DatagramSocket 会将传输排队并一一传送它们 还是只有一个能够通过 DatagramSocket socket new
  • C# 广播是UDP消息,监听多个回复

    我正在尝试编写一些执行 UDP 广播的代码 然后侦听来自远程服务器的答复 说明它们存在 它用于识别子网上运行服务器应用程序的计算机 因此基本上会发出 谁在那儿 并听取所有答复 我在 Java 中有这个 工作完美 它将 DatagramPac
  • 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
  • netty 4.x.x 中的 UDP 广播

    我们需要使用 Netty 4 0 0 二进制文件通过 UDP 通道广播对象 Pojo 在 Netty 4 0 0 中 它允许我们仅使用 DatagramPacket 类来发送 UDP 数据包 此类仅接受 ByteBuf 作为参数 还有其他方
  • 数据包丢失和数据包重复

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

    假设我的程序通过网络 UDP 发送 1000 字节 它是否保证接收方将 一批 接收 1000 个字节 或者他可能需要执行多次 读取 直到收到完整的消息 如果后者为真 我如何确保同一消息的数据包顺序不会 混淆 按顺序 或者协议可能保证这一点
  • 使用 STUN 打孔

    我目前正在尝试通过 Internet 发送 UDP 消息 并且必须为端点 A 和 B 都位于 NAT 后面 设置防火墙 为此 我想使用 STUN 服务器进行打孔 当 A 创建对 STUN 服务器的请求 例如 私有 85 1 1 12 600
  • Python UDP广播不发送

    我正在尝试从 Python 程序到两个 LabView 程序进行 UDP 广播 我似乎无法发送广播 我不确定我的套接字初始化错误在哪里 广播似乎足够简单 据我所知 其他电脑没有收到任何数据 另外 我将来还需要这个程序来接收来自其他电脑的数据
  • 您可以bind()和connect() UDP连接的两端吗

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

    我有一台带有两个网卡的电脑 一 eth0 用于 LAN 互联网 另一个用于与一个微控制器设备进行 UDP 通信 微控制器有一个 IP 192 168 7 2 和一个 MAC 地址 第二个电脑网络适配器 eth1 有 192 168 7 1
  • 跨 NAT 的 UDP 客户端无法从服务器接收数据

    我正在尝试在服务器 在公共 IP 上 和客户端 跨 NAT 之间使用 UDP 进行双向通信 我的逻辑是 如果服务器将一些数据发送到 IP 和它接收数据包的端口 客户端仍然应该收到它 因为 NAT 将具有最终将数据包发送到客户端的映射 客户端
  • boost 是否有可移植的方式来使用 ntohl/htonl/ntohs/htons 类型函数?

    我正在使用 UDP 特别是 boost asio ip udp socket 套接字 如果有帮助的话 头文件是什么 我需要哪些标头 类来处理 UDP 提升下的网络字节排序 刚刚发现就足够了 include
  • RTSP 设置后接收 RTP 数据包

    我正在尝试使用 Python 从 IP 摄像机流式传输 RTP 数据包 我能够使用 RTSP 协议发送描述 设置和播放命令 但是 我无法开始使用 RTP 传输实际视频流 这是代码 import socket def printrec rec

随机推荐

  • linux 应用网络连接失败的原因,PuTTY网络错误:软件导致连接中止

    解决PuTTY网络错误 Software caused connection abort 阅读有关该错误的PuTTY怎么说 这是Windows网络代码由于某种原因而终止已建立的连接时所产生的一般错误 例如 xff0c 如果将网络电缆从连接以
  • 智能革命之读书笔记

    我在孩童时代听说机器人时内心觉得那是距离我所生活的时代遥不可及的事物 xff0c 大学时听说人工智能 xff0c 一直对它敬而远之 xff0c 甚至对它有一种畏惧情绪 xff0c 心里一直有种担忧 xff0c 人工智能高度发展 xff0c
  • PX4 FMU [5] Loop

    PX4 FMU 5 Loop PX4 FMU 5 Loop 转载请注明出处 更多笔记请访问我的博客 xff1a merafour blog 163 com 201
  • 简历中工作经验应该如何写

    许多学习软件开发的学员不知道如何在个人简历中如何填写 项目经验 或 项目描述 xff0c 最近接触的一些学习Java的学生在简历中 xff0c 往往项目经验及描述都只能寥寥几笔完事 xff0c 这样的简历肯定是不吸引招聘企业HR的 那么软件
  • 计算机关机界面卡住,电脑关机时卡在关机界面的解决方法

    电脑关机时卡在关机界面的解决方法 发布时间 xff1a 2012 11 19 12 13 04 作者 xff1a 佚名 我要评论 笔记本或台式电脑的XP系统在关机的时候 xff0c 提示正在关闭或正在注销 xff0c 却一直无法正常关闭电脑
  • vue 指定index.html,在vue中,v-for的索引index在html中的使用方法

    在vue中 v for的索引index在html中的使用方法 如下所示 xff1a 以上这篇在vue中 v for的索引index在html中的使用方法就是小编分享给大家的全部内容了 xff0c 希望能给大家一个参考 xff0c 也希望大家
  • windows10 ubuntu子系统 WSL文件位置

    windows10 的linux子系统 xff08 windows subsystem for linux WSL 文件位置 以我的系统为例 xff0c WSL的root目录对应windows的 xff1a C Users xiaoPeng
  • CrawlSpiders简介

    转 xff1a https www cnblogs com ellisonzhang p 11124516 html 4295547 一 CrawlSpiders类简介 通过下面的命令可以快速创建 CrawlSpider模板 的代码 xff
  • python网络协议

    一 互联网的本质 咱们先不说互联网是如何通信的 发送数据 xff0c 文件等 xff0c 先用一个经典的例子 xff0c 给大家说明什么是互联网通信 现在追溯到八九十年代 xff0c 当时电话刚刚兴起 xff0c 还没有手机的概念 xff0
  • 通过css 改变通过img标签引入的svg颜色

    前言 修改svg颜色 xff0c 一般直接修改文件的svg的fill属性就可以了 xff0c 可以直接改svg属性 xff0c 也可以通过css修改 xff0c 但是前端一般都是通过img标签直接引入的svg图片 xff0c 这样不管是从后
  • Linux环境下vs code中Markdown与PlantUML联合工作

    PlantUML是一个可以让你快速编写UML图的组件 在线服务器 https www plantuml com plantuml uml SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 Markdown是一种轻量级标记语言
  • FPGA到底是什么

    做FPGA设计这么久 xff0c 每次给别人介绍的时候 xff0c 总是感觉讲的不够深刻 xff0c 惭愧惭愧惭愧 这次 xff0c 我就FPGA的硬件属性来展开 xff0c 简单写写 xff0c 与大家分享 我的许多朋友都是经验丰富的算法
  • 一个玩游戏的失足青年,转行做游戏开发到教育的挣扎过程

    14年的IT从业经历 xff0c 中专毕业后在小镇上开过网吧 在网吧一年多的时间里 xff0c 天天陪人玩游戏 xff0c 后来去读了一个三流计算机专业 xff0c 毕业后转做软件开发 xff0c 最近五年转入游戏开发行业 xff01 从网
  • 电路设计基础--MOS管驱动直流电机电路,看懂芯片手册

    本例以驱动继电器为例 xff0c 来讲述相关电路设计 xff0c MOS管选型 xff0c 以及看懂芯片手册 驱动电路如下图 D1作用是泄放继电器的反向电动势 继电器参数 24V继电器 电大负载25A 250VAC xff0c 线圈电阻64
  • linux下 /usr/bin/ld: 找不到 -ldhnetsdk的解决方法

    linux下使用Qt编译程序的时候 xff0c 安装了程序自带的链接库之后 xff0c 仍然上报这个错误 xff0c 发现系统上报这个错误 xff1a usr bin ld 找不到 ldhnetsdk 经过仔细的定位 xff0c 终于解决了
  • 无人机--飞控科普

    无人机是无人驾驶飞机的简称 xff08 Unmanned Aerial Vehicle xff0c UAV xff09 xff0c 是利用无线电遥控设备和自备的程序控制装置的不载人飞机 xff0c 包括无人直升机 固定翼机 多旋翼飞行器 无
  • 远程桌面使用双屏或多屏

    选项 显示 将所有监视器用于显示 查了半天居然没有靠谱答案 xff0c 自己动手发现 转载于 https www cnblogs com phoenix p 4294103 html
  • 问题记录:未设置为接受端口“文件和打印机共享(SMB)”上的连接

    解决办法 xff1a 网络 xff08 右击 xff09 属性 本地连接 xff08 右击 xff09 属性 此连接使用下列选项 Microsoft网络的文和打印共享 xff08 打上勾 xff09 转载于 https www cnblog
  • arduino 语音音箱 :语音控制、MP3播放、报时、回复温湿度情况

    arduino 语音音箱 xff1a 语音控制 MP3播放 报时 回复温湿度情况 效果图 线路图 包装后的效果 功能 需要材料 arduino板MP3播放模块及喇叭时钟模块温湿度模块语音识别模块面包板及其他线材 电阻TF卡 xff08 用于
  • 通过多张网卡发送UDP多播(组播)数据

    在具有多个网卡的机器上 xff0c 如果想要从每个网卡发送UDP数据 xff0c 一般的做法是 xff1a 针对每张网卡的每个IP都绑定一个SOCKET xff0c 然后发送的时候针对每个SOCKET都发送一次 但是如果你要发送多播数据 x