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

由CANoe自带协议栈在TCP断开连接时同时发送两条FIN报文引起的注意事项

在我写这篇文章CAPL如何在底层模拟TCP Server端断开TCP连接时,我发现了一个奇怪的现象。我为了使用CAPL组装报文的方式实现TCP Server断开连接的过程,插入一个网络节点作为Client端。为了让Client能够发起连接和发起断开连接,给网络节点配置了独立的TCP/IP Stack,也就是CANoe自带的TCP/IP协议栈。同时编写如下CAPL代码:

variables
{const dword               INVALID_SOCKET = 0xFFFFFFFF;dword                     sock = INVALID_SOCKET;
}on key 'a'
{sock = tcpOpen(ip_Endpoint(192.168.0.52:52));tcpConnect(sock, ip_Endpoint(192.168.0.17:17));
}on key 's'
{tcpSend(sock, "Hello", 5);
}on key 'c'
{tcpClose(sock);
}

Server端不用TCP/IP协议栈,而是通过ethernetPacket组装以太网报文模拟TCP Server断开连接的过程,代码这里就不展示了。

当调用上面的函数tcpClose()让Client发起TCP断开连接请求时,Client的TCP/IP协议栈同时发送了两条FIN报文:

http://www.lryc.cn/news/407929.html

相关文章:

  • FastGPT部署和接入使用重排模型bce-reranker-base
  • Android笔试面试题AI答之线程Handler、Thread(2)
  • 某某物联rabbitmqhttp二轮充电桩协议充电协议对接
  • 黑马JavaWeb企业级开发(知识清单)03——HTML实现正文:排版(音视频、换行、段落)、布局标签(div、span)、盒子模型
  • Java | Leetcode Java题解之第283题移动零
  • Django REST Framework(十三)视图集-GenericViewSet
  • 《0基础》学习Python——第二十四讲__爬虫/<7>深度爬取
  • Python Pygame制作简单五子棋游戏
  • JS+H5在线文心AI聊天(第三方接口)
  • kafka源码阅读-ReplicaStateMachine(副本状态机)解析
  • 【MetaGPT系列】【MetaGPT完全实践宝典——如何定义单一行为多行为Agent】
  • Kolla-Ansible的确是不支持CentOS-Stream系列产品了
  • IDEA启动C:\Users\badboy\.jdks\corretto-17.0.7\bin\java.exe -Xmx700m报错
  • ctfshow298-300(java信息泄露,代码审计)
  • Java 基础 and 进阶面试知识点(超详细)
  • 【LabVIEW作业篇 - 5】:水仙花数、数组与for循环的连接
  • Kafka系列之如何提高消费者消费速度
  • mac安装Whisper
  • Linux:进程概述(什么是进程、进程控制块PCB、并发与并行、进程的状态、进程的相关命令)
  • Unity UGUI 之 坐标转换
  • 使用 uPlot 在 Vue 中创建交互式图表
  • SpringBoot 项目配置文件注释乱码的问题解决方案
  • TTS如何正确读AI缩写、金额和数字
  • python基础知识点(蓝桥杯python科目个人复习计划75)
  • 小技巧:如何在已知PDF密码情况下去掉PDF的密码保护
  • Java泛型的介绍和基本使用
  • 【C++】动态内存管理与模版
  • MongoDB - 组合聚合阶段:$group、$match、$limit、$sort、$skip、$project、$count
  • vue element-ui日期控件传参
  • MacOS安装SDKMan管理Java版本