欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2019109115465
申请人: 北京简约纳电子有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-07-29
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种同时支持socket同步和异步通信方式的实现机制,其特征在于:包括了socket API,应用层Task、接收Task和发送Task;当外部(比如别的task)需要应用层Task开始建立连接时,就会发一个对应的事件(Event)给应用层Task,应用层Task就会调用API socket()来创建一个socket,如果是异步方式的,就会在创建socket成功之后,注册socket callback 函数fun1,并与该socket进行绑定;如果是同步方式的话,则无此步骤;这是后续区分同步和异步方式的标志;创建完socket之后,应用层Task根据实际需求调用相关的socket API来进行处理;如果是与发送数据相关的API,则需要发送信号量给发送Task,告诉发送Task有数据要发送,如果是与接收数据相关的Task,则无此步骤;在调用这些socket API的时候,如果是异步模式,就可以直接返回了,如果是同步模式,需要等待接收Task或者是发送Task处理完成相关的流程之后发送过来的信号量,才可以继续往下执行并返回;当驱动程序接收到数据之后,会通知接收Task,接收Task开始对数据包进行处理;处理完成之后,如果是异步方式,就调用在创建socket时注册的callback 函数fun1,进行相应的业务处理,之后发送事件(Event)给应用层Task,通知应用层Task数据接收的结果;如果是同步方式,就发送应用层Task正在等待的信号量给应用层Task,这样应用层Task接收到这个信号量之后就可以继续往下执行了;由于应用层Task在调用与发送数据相关的API时,会发送信号量给发送Task;发送Task接收到这个信号量之后,会根据各个连接(connection)的状态,发送数据包;等发送完成之后,会根据是同步还是异步方式进行相应的处理;如果是异步方式,就调用在创建socket时注册的callback 函数fun1,进行相应的业务处理,之后发送事件(Event)给应用层Task,通知应用层Task数据发送的结果;如果是同步方式,就发送应用层Task正在等待的信号量给应用层Task,这样应用层Task接收到这个信号量之后就可以继续往下执行了。

2.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述在应用层Task调用API socket()来创建一个socket时,如果是异步方式,就会在创建socket成功之后,注册socket callback 函数fun1,并与该socket进行绑定;如果是同步方式,则无此步骤;这是区分同步和异步方式的标志。

3.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述不管是采用异步方式API的应用层Task和采用同步方式API的应用层Task都是基于消息或者是事件驱动的。

4.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述当socket API处理完各自的相关的事情之后,会根据是同步还是异步方式来进行不同的流程,判断是同步还是异步的标准就是是否注册了socket callback 函数fun1,如果注册了就是异步方式,否则是同步方式。

5.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述接收Task只处理与接收数据相关业务,发送Task只处理与发送数据相关的业务,而且发送Task和接收Task都是基于消息或者是事件驱动的。

6.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述如果应用层Task调用的跟发送数据相关的socket API时,需要发送信号量给发送Task,告知发送Task有数据要发送。

7.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述如果是异步方式,则调用socket API时不需要等待就直接返回了;如果是同步方式,对于大部分的socket API,则需要等待接收Task或者是发送Task处理完相关的流程之后发来的信号量之后才可以继续往下执行并返回,有少数不需要与服务器端交互的API则不需要等待,直接返回,如socket()。

8.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述如果是异步方式,则接收Task或者发送Task在处理完相关的流程之后,会调用在创建socket时注册的callback函数fun1进行相应的业务处理,然后发送事件(Event)给应用层Task,通知应用层Task数据处理结果。

9.根据权利要求1所述的一种同时支持socket同步和异步通信方式的实现机制,其特征在于:所述的socket API仍然是标准的外部接口,没有改动,修改的是socket API的内部实现。