- 博客(20)
- 收藏
- 关注
原创 c++中 promise和future CS模型实现
本文将基于promise和future实现异步的CS模型,AP autosar中SOMEIP的通信就是基于这个模型实现的。
2025-05-28 15:40:27
185
原创 SOMEIP TLV是什么
Type(类型):标识数据的类型,如整数、字符串、数组等。Length(长度):指示Value部分的字节长度。Value(值):存放实际的数据内容。这种格式具有自描述性强和扩展性好的优点,适用于在不同系统间传递异构数据。服务质量(QoS)参数。安全凭证。配置参数。
2025-05-14 10:43:36
292
原创 共享内存实现
本文参考:https://zhuanlan.zhihu.com/p/331573872使用ftok设置share memory ID数据读取端代码 shm2.c编译运行结果写端读端本示例使用IPC_PRIVATE参数创建共享内存create_shm.cwrite_shm.cread_shm.c运行create_shm./write_shm 393263./read_shm 393263
2025-05-07 17:17:30
289
原创 两个功能安全等级不同的SWC为什么可以通过RTE进行数据传输
对于从低安全等级 SWC 传输到高安全等级 SWC 的数据,RTE 会依据高安全等级 SWC 的要求对数据进行检查,确保数据的完整性和安全性。例如,RTE 可采用内存隔离技术,保证不同安全等级的 SWC 拥有各自独立的内存空间,防止一个 SWC 的数据意外覆盖另一个 SWC 的数据。RTE 为 SWC 提供了标准化的接口,不同安全等级的 SWC 只需遵循这些接口规范进行数据传输,而无需关心对方的安全等级。这样,即使 SWC 的安全等级不同,也能通过统一的接口进行数据交互。
2025-05-07 14:12:33
305
原创 SOMEIP需要在找到service之后发送stopfindservice 吗
在 SOME/IP(Scalable service-Oriented MiddlewarE over IP)中,找到服务之后是否发送 Stop Find Service 消息并不是强制要求,但在很多实际场景下,这样做是一个很好的实践。
2025-05-06 15:43:30
149
原创 DTLS介绍
DTLS(Datagram Transport Layer Security)即数据报传输层安全协议,它是基于传输层安全协议(TLS)发展而来的,旨在为使用数据报协议(如 UDP)的通信提供类似 TLS 为 TCP 通信所提供的安全保障。
2025-04-29 09:51:23
427
原创 通信服务发现方式的介绍及比较
静态服务发现是指服务的位置(如 IP 地址、端口号等)和相关元数据(如服务名称、版本等)是预先配置好的,系统中的客户端通过读取这些预定义的配置信息来找到所需的服务。与动态服务发现不同,静态服务发现不会在运行时自动更新服务的位置信息。
2025-04-22 16:17:45
691
原创 vSOMEIP系列 - 5:request - response 以及 subscribe -notify 模型demo双机跨域实现
本文将讲解如何配置实现vSOMEIP的基于method的请求 - 订阅的双机跨域demo实现以及基于event的订阅-通知的双机跨域demo实现。
2025-04-16 10:40:28
416
原创 vSOMEIP系列 - 4:request - response 以及 subscribe -notify 模型demo单机实现
本文将进行vSOMEIP的请求-响应以及订阅-发布模型的demo实现。
2025-04-15 18:00:56
191
原创 vSOMEIP部署,单机实现以及双击实现demo - 1
在网上搜了很多资料,发现没有vSOMEIP系列将单机实现以及双机(跨域)实现一次性进行demo实现,本专栏将进行一次系统的实现。
2025-04-14 14:38:30
223
原创 刷leetcode之删除链表节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: ...
2019-06-02 22:02:53
159
原创 刷leetcode之删除链表中指定值的节点
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5但要注意两个值连在一起的情况:实例:输入:1->1, val = 1输出:[]如果有两个连续的节点值要删除,注意在删除这个节点后,节点不要后移,否则会少删除后一个相同值的节...
2019-06-02 21:32:59
328
原创 循环单链表
这里对单链表的循环模式写了一些代码,只是单纯从原理上做出了说明,并没有加入相关的容错单链表的循环模式和非循环的单链表有什么很大的区别,只是在初始时要把head->next = NULL 变成 head->next = head即可,另外在判断链表结束时的条件也要相应的从p->next == NULL 改成 p->next = head.下面是代码//// main...
2019-05-25 22:01:26
386
原创 刷leetcode之删除链表的倒数第n个节点
首先采用了最一般的办法,就是先统计出该链表里面有多少个element,然后再执行一次遍历,遍历到倒数第n个节点的前一个节点,再使用p->next = p->next->next就可以删除倒数第n个节点但不是one pass实现的,代码如下:/** * Definition for singly-linked list. * struct ListNode { * ...
2019-05-23 21:22:58
158
原创 刷leetcode之翻转单链表
本文参考下面资料:https://www.cnblogs.com/byrhuangqiang/p/4311336.html采用了其中第一种方法代码如下:``/**Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};*/struct ListNod...
2019-05-20 23:04:18
195
原创 刷leetcode笔记之链表相交处查找
刷leetcode笔记之链表相交处查找参考:https://blog.csdn.net/fengxinlinux/article/details/78885764时间复杂度 O(n)使用的方法是:先判断两个链表的最后一个node是不是在同一地址,顺便计算出两个链表的长度找到两个链表的长度差diff,将更长的那个链表的头指针偏移diff个node两个链表同时偏移,判断其node的指针...
2019-05-19 18:49:16
152
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人