在做网络通讯项目过程中遇到一个问题:两张光纤通讯网卡之间通过单模光纤发送UDP数据,而只有打开网卡数据采集软件如:网路岗或Wireshark时才能看到数据包,用普通的网络调试助手或者自己开发的数据采集软件无法收到数据。

经过问题定位,发现是两张网卡的mac地址不对造成的:在UDP通讯过程中,发送端需要知道目标地址的mac地址,而接收端在接收时会判断数据包是否与自己的mac地址一致,如果一致就接收和处理数据,不一致就不接收和处理。网路岗或Wireshark在采集网卡上的UDP数据时,屏蔽掉了mac地址,所以可以收到相同IP地址的数据并显示,但是普通的UDP数据采集软件或自己开发的UDP数据采集软件不能做到这样一步,所以只有在打开网路岗或Wrieshark软件时,自己开发的软件或网络调试助手才采集到了数据。不打开网络岗或Wireshark时,数据包被丢弃掉。

处理办法:将接受端的mac地址设置为与发送端的mac地址相同,这样就可以直接用网络调试助手或者自己开发的软件采集数据了。更进一步分析,两张光纤网卡不在同一个局域网中,这样进行UDP通讯时,发送端寻找目标地址的网卡时不能获取到,发送端通过发送ARP请求包获取目标地址网卡,不在同一局域网时,收不到目标地址网卡返回的ARP包,所以就失败了,网上有做上位机和下位机开发的人也遇到相似的问题,但是没有说明解决办法。还是记下来对以后开发有帮助。

物理网卡的mac地址设置可以在网上轻易找到,这里就不做多余的叙述了。

简单的UDP监听需要打开w网路岗才能接收到数据的原因和解决办法相关推荐

  1. Onedrive本地文件夹打开慢,卡顿问题 -- 一个可能的原因和解决办法

    问题描述:在文件浏览器中右键或者双击Onedrive文件夹及其子文件夹时, 卡顿十几秒. 文件已经下载到本地. 关于版本:尝试过在官网下载旧版本, 但目前即使安装了旧版本也会自动安装新版本. 网络状态 ...

  2. c# 怎样监听已经打开的串口

    如题,用C#怎么实现监听已经打开的串口,我从网上查了查都不能实现 实现监视需要的工作很多.你有这功夫,不如买一根1分2的线来做监视了.如果研究之用或是项目必须.要考虑api钩子,勾住createfil ...

  3. Android监听作用,Android开发之CheckBox的简单使用与监听功能示例

    本文实例讲述了Android开发之CheckBox的简单使用与监听功能.分享给大家供大家参考,具体如下: activity_main.xml android:layout_width="ma ...

  4. linux netstat Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

    在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告. Netstat ...

  5. html中下拉列表监听事件,ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据...

    本文将为您描述ExtJS 下拉框监听事件.日期选择器监听事件.实现动态给items添加删除数据,具体实现方法: 1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件 ...

  6. 谷歌浏览器设置启动页被hao123劫持_win10系统打开chrome主页会被hao123劫持的故障原因及解决方法...

    有位win10系统用户最近遇到了一个问题,他反馈有次重启电脑后,好像某某浏览器升级了,然后打开chrome主页就被hao123劫持了,试了很多方法都没有作用.这是怎么回事呢?下面脚本之家的小编带来相应 ...

  7. 为什么电脑浏览器显示时钟快了_xp打开网页提示“你的时钟慢了”的原因及解决方法...

    近期,一位小伙伴反馈说xp系统打开网页提示"你的时钟慢了,您计算机的日期和时间不正确,因此无法与www.baidu.com建立私密连接"这个问题的出现,一般是我们电脑的时钟回到出厂 ...

  8. 【记录】IDEA未正确关闭导致打开报错,进不了主界面,含解决办法

    [记录]IDEA未正确关闭导致打开报错,进不了主界面,含解决办法 错误提示 解决方案 参考 错误提示 截取了错误的主要部分 java.util.concurrent.CompletionExcepti ...

  9. 打开计算机 访问不到d盘,教大家电脑找不到d盘的原因及解决办法

    近日有关于电脑找不到d盘的原因及解决办法的问题受到了很多网友们的关注,大多数网友都想要知道电脑找不到d盘的原因及解决办法的具体情况,那么关于到电脑找不到d盘的原因及解决办法的相关信息,小编也是在网上进 ...

  10. mysql Excel导出文件损坏_phpexcel 导出excel无法打开,提示文件格式或文件名无效,文件损毁,解决办法...

    require_once ('inc/PHPExcel-1.8/Classes/PHPExcel.php'); $objPHPExcel = new PHPExcel(); $objSheet = $ ...

最新文章

  1. Head First设计模式之目录
  2. 基于Transformer对透明物体进行分割
  3. ECCV2020 | Gen-LaneNet:百度Apollo提出两阶段的3D车道线检测算法,已开源
  4. scss安装_安装了这9个免费PS插件后,终于能正常时间下班了……
  5. SCCM管理 - 更新部署
  6. 【数据结构】数组和广义表
  7. 竞价点击软件_百度的关键词竞价广告:百度竞价广告关键词怎么设置?28法则是什么?...
  8. C和C++里面常见错误和异常出现怎么解决总结(不断更新)
  9. AT4505-[AGC029F]Construction of a tree【构造题,hall定理,网络流】
  10. 业务系统里面常见的方法接口设计
  11. nginx文件服务器密码登录,风的方向
  12. 如何保证投票公平_从声音玩具淘汰、五条人复活,我看到了《乐队的夏天》的不公平...
  13. 矩阵论与计算机英语论文,矩阵论翻译论文[8页].pdf
  14. 目前M院M师的教学乱象
  15. jq和js的关系_jquery与js的区别是什么?js与jquery的用法区别介绍
  16. java的xsd文件_java – 如何通过相对路径引用本地XSD文件
  17. eact源码解析7.Fiber架构
  18. node.js入门之child_process子进程
  19. 新概念英语(第一册)复习(原文及全文翻译)——Lesson 61 - Lesson 90
  20. 如何快速的下载百度网盘的文件

热门文章

  1. librtmp usage
  2. dcs world f15c教学_苏教版译林牛津高中英语必修1-5选修6-11课文听力MP3音频字幕课件教案试题电子课本优质课教学视频...
  3. 社交网络影响力最大化基础知识总结
  4. matlab中abs函数,Abs函数
  5. 中科微GPS模块使用教程 ATGM332D ATGM336H GSP模块 单片机程序 C程序
  6. 密码学系列之二:密码学基本概念
  7. 十大蓝牙耳机排行榜:2021年值得关注的十大蓝牙耳机排名
  8. win10无法执行vbs脚本
  9. WordPress漏洞扫描器wpscan
  10. c语言整人小程序格式,【C语言】整人小程序