System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于车用软件开发,具体涉及一种汽车总线虚拟通道的实现方法及实现系统。
技术介绍
1、为了实现在计算机上模拟各类汽车总线的通信过程,为总线工具提供虚拟硬件支持,使得多款总线工具进程之间可以通过虚拟硬件相连,进行实时通信。在相关车用软件开发技术中,通常是通过编写驱动程序,在系统底层控制虚拟总线的数据传输。
技术实现思路
1、本专利技术的目的是提供一种汽车总线虚拟通道的实现方法及实现系统。
2、为了解决上述技术问题,本专利技术提供了一种汽车总线虚拟通道的实现方法,包括:
3、设计单实例服务端进程,启动后通过udp协议监听本地计算机的固定端口;设计多实例客户端进程,启动后分别通过udp协议监听本地计算机的随机端口;客户端进程向服务端进程发送注册请求数据包,服务端进程成功接收注册请求数据包后反馈成功接收信号至客户端进程,客户端进程接收到反馈后则按特定间隔时间向服务端进程发送心跳包,并等待服务端进程对该心跳包的应答;客户端进程向服务端进程发送汽车总线报文。
4、进一步,创建服务端进程的方法包括:
5、所述服务端进程程序启动后尝试创建一个以该程序名称命名的互斥量,如果该互斥量已存在,则创建失败,退出进程程序,否则创建成功,进程程序运行,并在进程程序结束时释放该互斥量;
6、程序启动后监听本地计算机的固定端口,若监听失败,则退出进程程序并释放互斥量。
7、进一步,创建至少一个客户端进程的方法包括:
8、各
9、进一步,所述注册请求数据包包括:客户端进程监听的随机端口号;以及
10、所述心跳包包括:客户端进程监听的随机端口号。
11、进一步,服务端进程设置汽车总线报文的时间戳,包括:
12、服务端进程启动后读取当前系统性能计数器值并存入变量t1;
13、服务端进程收到客户端进程发送的汽车总线报文后,再次读取当前系统性能计数器并存入变量t2;
14、则时间戳t=(t2-t1)/f,其中f为系统性能计数器的频率。
15、进一步,所述服务端进程在启动后,通过udp协议或者tcp协议监听本地计算机的固定端口;以及
16、各客户端进程在启动后,通过udp协议或者tcp协议分别监听本地计算机的随机端口。
17、又一方面,本专利技术还提供了一种计算机可读存储介质,存储有计算机可读指令,当其由至少一个处理器执行时,使得如前所述的汽车总线虚拟通道的实现方法的程序被执行。
18、第三方面,本专利技术还提供了一种电子设备,包括:
19、至少一个存储指令的存储器;
20、至少一个处理器,其执行所述指令以使得处理器执行以下操作:
21、创建服务端进程作为虚拟通道的提供者,启动后监听本地计算机的固定端口;
22、创建至少一个客户端进程,各客户端进程分别作为虚拟通道的使用者,启动后分别监听本地计算机的随机端口;
23、客户端进程向服务端进程发送注册请求数据包,服务端进程成功接收注册请求数据包后反馈成功接收信号至客户端进程,客户端进程接收到反馈后则按特定间隔时间向服务端进程发送心跳包,并等待服务端进程对该心跳包的应答;
24、客户端进程向服务端进程发送汽车总线报文,若发送成功,则服务端进程设置该汽车总线报文的时间戳后发回该客户端进程,并修改汽车总线报文的方向属性为发送,同时将此汽车总线报文发送至其余客户端进程,并修改汽车总线报文的方向属性为接收。
25、进一步,创建服务端进程的方法包括:
26、所述服务端进程程序启动后尝试创建一个以该程序名称命名的互斥量,如果该互斥量已存在,则创建失败,退出进程程序,否则创建成功,进程程序运行,并在进程程序结束时释放该互斥量;
27、程序启动后监听本地计算机的固定端口,若监听失败,则退出进程程序并释放互斥量。
28、进一步,创建至少一个客户端进程的方法包括:
29、所述至少一个客户端进程程序启动后尝试监听本地计算机的任一随机端口,若监听失败,则尝试监听本地计算机的另一个随机端口,直至监听成功。
30、所述注册请求数据包包括:客户端进程监听的随机端口号;以及
31、所述心跳包包括:客户端进程监听的随机端口号。
32、进一步,服务端进程设置汽车总线报文的时间戳,包括:
33、服务端进程启动后读取当前系统性能计数器值并存入变量t1;
34、服务端进程收到客户端进程发送的汽车总线报文后,再次读取当前系统性能计数器并存入变量t2;
35、则时间戳t=(t2-t1)/f,其中f为系统性能计数器的频率。
36、第四方面,本专利技术还提供了一种汽车总线虚拟通道的实现系统,包括:计算机装置,所述计算机装置被配置为执行客户端进程和服务端进程;其中
37、客户端进程,被配置为向服务端进程发送注册请求数据包、按特定间隔时间向服务端进程发送心跳包和向服务端进程发送汽车总线报文;
38、服务端进程,被配置为接收客户端进程发送的注册请求数据包、心跳包和汽车总线报文,以及设置汽车总线报文的时间戳后发回该客户端进程,并修改汽车总线报文的方向属性为发送,同时将此汽车总线报文发送至其余客户端进程,并修改汽车总线报文的方向属性为接收。
39、进一步,所述计算机装置还被配置为创建服务端进程,包括:
40、所述服务端进程程序启动后尝试创建一个以该程序名称命名的互斥量,如果该互斥量已存在,则创建失败,退出进程程序,否则创建成功,进程程序运行,并在进程程序结束时释放该互斥量;
41、程序启动后监听本地计算机的固定端口,若监听失败,则退出进程程序并释放互斥量。
42、进一步,所述计算机装置还被配置为创建至少一个客户端进程,包括:
43、各客户端进程程序启动后尝试监听本地计算机的任一随机端口,若监听失败,则尝试监听本地计算机的另一个随机端口,直至监听成功。
44、进一步,所述注册请求数据包包括:客户端进程监听的随机端口号;以及
45、所述心跳包包括:客户端进程监听的随机端口号。
46、进一步,服务端进程设置汽车总线报文的时间戳,包括:
47、服务端进程启动后读取当前系统性能计数器值并存入变量t1;
48、服务端进程收到客户端进程发送的汽车总线报文后,再次读取当前系统性能计数器并存入变量t2;
49、则时间戳t=(t2-t1)/f,其中f为系统性能计数器的频率。
50、进一步,服务端进程在启动后,通过udp协议或者tcp协议监听本地计算机的固定端口;以及
51、各客户端进程在启动后,本文档来自技高网...
【技术保护点】
1.一种汽车总线虚拟通道的实现方法,其特征在于,包括:
2.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
3.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
4.根据权利要求3所述的汽车总线虚拟通道的实现方法,其特征在于,
5.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
6.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
7.一种计算机可读存储介质,其特征在于,存储有计算机可读指令,当其由至少一个处理器执行时,使得如权利要求1所述的汽车总线虚拟通道的实现方法的程序被执行。
8.一种电子设备,包括:
9.一种汽车总线虚拟通道的实现系统,其特征在于,包括:计算机装置,所述计算机装置被配置为执行客户端进程和服务端进程;其中
10.一种计算机程序产品,包括计算机程序或指令,其中在计算机上执行所述计算机程序或指令时,使得计算机能够执行如权利要求1-6任一项所述的汽车总线虚拟通道的实现方法的操作。
【技术特征摘要】
1.一种汽车总线虚拟通道的实现方法,其特征在于,包括:
2.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
3.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
4.根据权利要求3所述的汽车总线虚拟通道的实现方法,其特征在于,
5.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
6.根据权利要求1所述的汽车总线虚拟通道的实现方法,其特征在于,
7.一种计算机可读存储介质...
【专利技术属性】
技术研发人员:刘矗,谢乐寅,莫莽,
申请(专利权)人:上海同星智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。