欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2018100159069
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-05-06
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种进程间通信方法,应用于服务器,其特征在于,包括:

创建服务线程,所述服务线程用于处理针对客户端的异步任务,所述异步任务包括处理客户端的连接请求、接收客户端发送的数据请求以及向客户端发送数据请求;

调用accept函数,创建所述异步任务对应的异步的命名管道句柄和重叠IO,将所述异步的命名管道句柄传入所述重叠IO的Pointer字段中,调用ConnectNamedPipe函数,异步等待来自客户端的所述异步任务,将所述重叠IO存放至与所述异步任务对应的存储空间中,所述服务器中设置有用于存储所述处理客户端的连接请求对应的重叠IO的第一存储空间、用于存储所述接收客户端发送的数据请求对应的重叠IO的第二存储空间以及用于存储所述向客户端发送数据请求对应的重叠IO的第三存储空间;

通过所述服务线程循环查看所述第一存储空间、所述第二存储空间以及所述第三存储空间中的重叠IO,如果查看的当前重叠IO处理完成,继续处理下一个存储空间的重叠IO。

2.如权利要求1所述的方法,其特征在于,在所述如果查看的当前重叠IO处理完成之后,所述方法还包括:将所述当前重叠IO从对应的存储空间中删除。

3.如权利要求1所述的方法,其特征在于,所述如果查看的当前重叠IO处理完成,继续处理下一个存储空间的重叠IO,包括:如 果 所 述 当 前 重 叠 I O 为 所 述 第 一 存 储 空 间 中 的 重 叠 I O ,调 用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定有客户端连接到所述服务器;

调用onAccepted函数,在所述onAccepted函数中创建第一会话对象,调用所述第一会话对象的asyncReadSome函数,读取所述客户端发送的数据;

继续处理下一个存储空间的重叠IO。

4.如权利要求1所述的方法,其特征在于,所述如果查看的当前重叠IO处理完成,继续处理下一个存储空间的重叠IO,包括:如 果 所 述 当 前 重 叠 I O 为 所 述 第 二 存 储 空 间 中 的 重 叠 I O ,调 用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定成功接收到来自客户端发送的数据;

通过所述当前重叠IO中Pointer字段获取所述当前重叠IO对应的第二会话对象;

调用所述第二会话对象的onReadComplete函数处理接收到的数据;

调用所述第二会话对象的asyncReadSome函数,把下一个读取的重叠IO放入到所述第二存储空间;

继续处理下一个存储空间的重叠IO。

5.如权利要求1所述的方法,其特征在于,所述如果查看的当前重叠IO处理完成,继续处理下一个存储空间的重叠IO,包括:如果所述当前重叠IO为所述第三存储空间中的重叠IO,定位与所述当前重叠IO对应的第三会话对象;

调用所述第三会话对象的asyncWriteSome函数异步的发送数据至客户端;

调用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定成功的将数据发送至客户端;

继续处理下一个存储空间的重叠IO。

6.一种电子设备,应用于服务器,其特征在于,包括:

创建单元,用于创建服务线程,所述服务线程用于处理针对客户端的异步任务,所述异步任务包括处理客户端的连接请求、接收客户端发送的数据请求以及向客户端发送数据请求;

调用单元,用于调用accept函数,创建所述异步任务对应的异步的命名管道句柄和重叠IO,将所述异步的命名管道句柄传入所述重叠IO的Pointer字段中,调用ConnectNamedPipe函数,异步等待来自客户端的所述异步任务,将所述重叠IO存放至所述异步任务对应的存储空间中,所述服务器中设置有用于存储所述处理客户端的连接请求对应的重叠IO的第一存储空间、用于存储所述接收客户端发送的数据请求对应的重叠IO的第二存储空间以及用于存储所述向客户端发送数据请求对应的重叠IO的第三存储空间;

处理单元,用于通过所述服务线程循环查看所述第一存储空间、所述第二存储空间以及所述第三存储空间中的重叠IO,如果查看的当前重叠IO处理完成,继续处理下一个存储空间的重叠IO。

7.如权利要求6所述的电子设备,其特征在于,所述电子设备还包括:删除单元,用于在所述如果查看的当前重叠IO处理完成之后,将所述当前重叠IO从对应的存储空间中删除。

8.如权利要求6所述的电子设备,其特征在于,所述处理单元用于:

如 果 所 述 当 前 重 叠 I O 为 所 述 第 一 存 储 空 间 中 的 重 叠 I O ,调 用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定有客户端连接到所述服务器;

调用onAccepted函数,在所述onAccepted函数中创建第一会话对象,调用所述第一会话对象的asyncReadSome函数,读取所述客户端发送的数据;

继续处理下一个存储空间的重叠IO。

9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一项所述的进程间通信方法的步骤。

10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的进程间通信方法的步骤。