[发明专利]一种通信方式的优化方法及电子设备有效
| 申请号: | 201810011462.1 | 申请日: | 2018-01-05 |
| 公开(公告)号: | CN110012042B | 公开(公告)日: | 2022-01-04 |
| 发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | H04L67/141 | 分类号: | H04L67/141;H04L12/18;H04L67/60 |
| 代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
| 地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 通信 方式 优化 方法 电子设备 | ||
本发明公开了一种通信方式的优化方法及电子设备,先注册一虚拟服务名称,并创建微内核的监控接口;基于多个客户端的获取请求,将监控接口发送给多个客户端,使得各客户端基于监控接口发送各自的连接请求给监控接口;接收各客户端发送的各自的连接请求,并利用微内核信息服务器的线程为每个连接请求对应创建微内核消息会话实例,生成各微内核消息会话实例的连接应答消息发送给各连接请求对应的客户端,另外检测所述各微内核消息会话实例是否有效,然后删除无效的微内核消息会话实例。
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方式的优化方法及电子设备。
背景技术
在Mac OSX系统下,有多种进行进程间通信的方法,比如CFMessagePort。
通过调用OSX系统下的CoreFoundation框架的CFMessagePortCreateLocal API(创建本地接口API)在进程A中创建一个名称为“XXX”的CFMessagePort本地端口,然后在另外一个进程B中通过调用CFMessagePortCreateRemote创建一个名称同样为“XXX”的CFMessagePort远程端口。这样进程A和进程B便通过名称为“XXX”的端口建立起了通信连接。
但是上述方式只适合一对一的通信方式,不适合一对多的方式。如果进程A是一个服务器,而进程B是一个客户端,如果有多个客户端和一个服务器进行通信,那么CFMessagePort这种技术方案就不合适。
发明内容
本发明了提供了一种通信方式的优化方法及电子设备,以解决或者部分解决目前在OSX系统下不能够实现一对多的通信的技术问题。
为解决上述技术问题,本发明提供了一种通信方式的优化方法,所述方法包括:
注册一虚拟服务名称,并创建微内核的监控接口;
基于多个客户端的获取请求,将所述监控接口发送给多个客户端,使得所述多个客户端基于所述监控接口发送各自的连接请求给所述监控接口;
接收所述多个客户端发送的各自的连接请求;
利用微内核信息服务器的线程为每个连接请求对应创建微内核消息会话实例,并生成各微内核消息会话实例的连接应答消息发送给各连接请求对应的客户端;
封装和各客户端进行通信的通信消息,并发送给对应的客户端。
优选的,所述注册一虚拟服务名称,并创建微内核Mach的监控接口,包括:
调用OSX系统的bootstrap_check_in函数,将虚拟服务名称对应的字符串注册到OSX系统中,并获取到所述监控接口。
优选的,所述接收所述多个客户端发送的各自的连接请求,具体包括:
利用微内核信息服务器的线程调用mach_msg系统函数接收来自各客户端的连接请求,其中各客户端的连接请求中携带有各客户端的端口名。
优选的,所述利用微内核信息服务器的线程为每个连接请求对应创建微内核消息会话实例,具体包括:
通过调用微内核信息服务器的allocSession函数,为各连接请求创建各自的一个MachMessageSession会话实例;
调用MachMessageSession的createFrom方法来初始化该各MachMessageSession会话实例,使各MachMessageSession会话实例包含有两个参数:对应的客户端的端口名,本地端口名。
优选的,所述生成各微内核消息会话实例的连接应答消息发送给对应的客户端,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810011462.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:物流数据传输系统及其方法
- 下一篇:一种基于地理位置的AR系统及其实现方法





