发明名称 |
一种异步通讯的实现方法 |
摘要 |
本发明公开了一种异步通讯的实现方法,它使用异步通讯组件,使用多种应用协议进行数据通讯,包括:在应用A与应用B之间设置异步通讯组件,异步通讯组件分为管理端和代理端两个部分,管理端放置在主动发送的应用A上,代理端放置在被动接收的应用B上;管理端和代理端之间通过协议栈进行异步通讯。 |
申请公布号 |
CN102946376B |
申请公布日期 |
2015.04.29 |
申请号 |
CN201110387021.X |
申请日期 |
2011.11.29 |
申请人 |
UT斯达康通讯有限公司 |
发明人 |
黄宇殊;杨亚鹏 |
分类号 |
H04L29/06(2006.01)I;H04L29/08(2006.01)I |
主分类号 |
H04L29/06(2006.01)I |
代理机构 |
杭州杭诚专利事务所有限公司 33109 |
代理人 |
尉伟敏 |
主权项 |
一种异步通讯的实现方法,其特征包括:(A)在应用A与应用B之间设置异步通讯组件,所述异步通讯组件分为管理端和代理端两个部分,所述管理端放置在主动发送的应用A上,所述代理端放置在被动接收的应用B上;(B)所述管理端和代理端之间通过协议栈进行异步通讯;所述管理端的发送流程包括:(1)应用A以非阻塞方式调用异步发送接口发送请求消息,并将请求消息放入管理端发送队列;(2)管理端发送线程从发送队列中取出请求消息,将请求消息和关联的管理端回调函数放入管理端缓存区,并将请求消息发送出去;所述代理端的接收流程包括:(3)代理端接收线程收到请求消息,并放入代理端接收队列;(4)代理端工作线程从接收队列中取出消息,根据消息类型调用它们的代理端回调函数,如果是同步操作,回调函数中完成消息处理,立即返回给管理端,如果是异步操作,回调函数并不完成消息处理,也不立即返回管理端,而是将请求消息、发送端地址信息存入代理端缓存区,并获得一个代理端缓存区唯一标识,然后将消息和代理端缓存区唯一标识一起放入应用B的消息处理队列;所述代理端的返回流程包括:(5)应用B从消息处理队列中获得消息,进行处理,处理完毕后,调用代理端异步返回接口;(6)代理端异步返回接口根据代理端缓存区唯一标识获得请求消息及上下文,构造返回消息,然后将返回消息放入代理端发送队列;(7)代理端发送线程从发送队列中取出返回消息,并返回给管理端;所述管理端的接收流程包括:(8)管理端接收线程收到返回消息,放入管理端接收队列;(9)管理端工作线程从接收队列中取出返回消息,管理端工作线程根据返回消息的唯一标识,在管理端缓冲区中找到之前的请求消息和回调函数,然后将返回消息、请求消息通知给相应的管理端回调函数;(10)管理端回调函数完成返回消息的处理。 |
地址 |
310052 浙江省杭州市滨江区六和路368号 |