双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

终于完全解决多线程环境Ping发生干扰的问题

asdqz1 asdqz1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
其实问题很简单,每个ping 都是使用SequenceId来区分的,很多时候,如果不设定SequenceId,则程序会自行分配一个,
但在多线程环境中,会将第一次分配的SequenceId重复的分给每一个线程,导致每个线程都收到不属于自己的回应包,造成干扰。
在自行加上SequenceId后,线程就能识别属于自己的回应包了。

该解决办法在delphi7+indy10 环境中得到验证,其他环境暂未测试,但根据ICMP协议的规定,
请求应答的SequenceId必须是一致的,因此加上SequenceId,多线程环境下的Ping就不会出现干扰的情况,
除非都使用了同一个SequenceId,不过如果采取随机生成的办法,估计发生冲突的几率和中国足球走向世界的几率差不多。
...全文

相关推荐

解决VMware中安装Centos7后无法ping通外网的问题

主要介绍了VMware中安装Centos7后无法ping通外网的问题,经过小编的再三折腾终于找出解决方案,感兴趣的朋友跟随小编一起看看吧

weixin_38748210

HC32F4A0+LAN8720+FreeRTOS+LwIP:嵌入式以太网PING测试实战

嵌入式以太网开发中,RTOS与轻量级协议栈的组合已成为设备联网的主流方案。LwIP作为开源TCP/IP协议栈,通过FreeRTOS的任务调度与同步机制,可高效运行于Cortex-M4内核MCU之上,配合外接PHY芯片实现物理层收发。该方案不仅支持ICMP PING等基础网络诊断,更可扩展至TCP服务器、MQTT云端通信等工业物联网场景。在实际工程中,PHY驱动初始化、RMII时钟配置、DMA描述符管理以及LwIP底层网卡接口的移植是技术难点,直接影响链路稳定性与通信性能。本文以国产HC32F4A0微控制器搭

weixin_34006468

如何解决wifi上网跳ping 无线路由器ping不稳定的解决方法

随着无线宽带网络的普及和发展,使用笔记本,PC,手机连接WLAN(wifi)网络来上网成了很多友友的选择,wifi的特点是速度快而且不需要占用空间的网线,甚是便利。但是最近有很多友友对小编抱怨,使用WLAN上网,ping数不稳定

weixin_38743737

linux解决ping通但端口不通的问题

在本文里我们给大家整理了关于在linux解决ping通但端口不通的问题的解决方法和步骤,有需要的朋友们参考下。

weixin_38685173

ping丢包的原因和解决的方法

ping丢包的原因和解决的方法 使用Ping测量丢包的最佳方法是向一个IP地址发送大量的Ping命令,然后检查没有应答的那些Ping命令。如果你快速地发出了50次Ping命令,      你可以检查没有没有应答的次数,并把没有应答的次数作为丢包。没有应答的次数超过5%可能就值得担心了。      在一台Windows计算机上,在命令提示符后面输入如下命令就可以完成这个任务:

年轻人2000
评论 1
收藏 已收藏
分享
返回顶部
asdqz1
网络编程 18,356 成员 64,161 内容