当前位置: 首页 > news >正文

CAPL如何在底层模拟TCP Client端断开TCP连接

TCP断开连接的四次挥手过程中,Client端需要做的事情是:发起断开连接请求,接收Server端断开连接请求并响应。

如果Client端不使用TCP/IP协议栈和Socket接口函数完成连接,而是通过组装以太网报文完成连接,需要注意:

  • Client不使用TCP/IP协议栈,所以不应该配置TCP/IP协议栈。否则收到Server端的ACK+FIN后协议栈会回复RST。
  • Server端在收到Client的FIN报文后,首先回复ACK确认。Client收到此ACK时需要识别,不做任何反应。

此次的CAPL代码设计思路参考文章《on ethernetPacket事件函数接收报文时标准的处理流程》中的思想,遵循网络分层处理原则。具体细节请查看代码注释。

完整代码:

variables
{ethernetPacket            ppkt;
}on ethernetPacket *
{//只解析ECU发送的,不解析CANoe Switch Segment转发的if (this.dir != 0)return;//链路层解析if (this.destination == ethGetMacAddressAsNumber("02:00:00:00:00:52") ||this.destination == ethGetMacAddressAsNumber("FF:FF:FF:FF:FF:FF")){if (this.type == 0x0800)//ipv4{Ipv4ProtocolProcess(this);}if (this.type == 0x0806){ArpProtocolProcess(th

相关文章:

  • 【HTML】格式化文本 pre 标签
  • ADBMS1818驱动程序解析
  • Spring的启动扩展点机制详解
  • SpringBoot购物网站
  • 基于深度学习网络的USB摄像头实时视频采集与手势检测识别matlab仿真
  • 黑马苍穹外卖2 员工的增查改+异常处理+ThreadLocal
  • Python爬取与可视化-豆瓣电影数据
  • 前端根据权限生成三级路由
  • Linux | grep命令和 find命令有什么区别
  • 齐普夫定律在循环神经网络中的语言模型的应用
  • 6.17作业
  • Spring Boot高级配置与自定义Starter详解
  • 哪个充电宝牌子好用又实惠?盘点四大平价充电宝分享
  • YOLOv10涨点改进:改进检测头(Partial_C_v10Detect)检测头结构创新,实现涨点
  • 微信小程序录音机源代码
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • QQ浏览器x5内核的兼容性问题
  • React16时代,该用什么姿势写 React ?
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 讲清楚之javascript作用域
  • 目录与文件属性:编写ls
  • 前端技术周刊 2019-01-14:客户端存储
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 小程序开发中的那些坑
  • 智能网联汽车信息安全
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # Redis 入门到精通(七)-- redis 删除策略
  • #07【面试问题整理】嵌入式软件工程师
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (层次遍历)104. 二叉树的最大深度
  • (五)Python 垃圾回收机制
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Linux下编译安装log4cxx
  • (转)编辑寄语:因为爱心,所以美丽
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET C# 使用GDAL读取FileGDB要素类
  • .Net 代码性能 - (1)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET下的多线程编程—1-线程机制概述
  • @PreAuthorize注解
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • []FET-430SIM508 研究日志 11.3.31
  • [2016.7 day.5] T2
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测