1.一种进程间通信方法,应用于服务器,其特征在于,包括:
创建服务线程,所述服务线程用于处理针对客户端的异步任务,所述异步任务包括处理客户端的连接请求、接收客户端发送的数据请求以及向客户端发送数据请求;
调用accept函数,通过所述accept函数调用设置了预设安全访问属性的CreateNamedPipe函数创建异步的命名管道句柄和通过所述accept函数创建重叠IO,将所述命名管道句柄传入所述重叠IO的Pointer字段中,调用ConnectNamedPipe函数,异步等待来自客户端的所述异步任务,将所述重叠IO存放至与所述异步任务对应的存储空间中,其中,所述命名管道句柄通过所述预设安全访问属性指定访问等级,所述命名管道句柄指定的访问等级使得所述服务器以管理员权限或非管理员权限创建所述命名管道句柄情况下,所述客户端均能访问所述命名管道句柄,所述服务器中设置有用于存储所述处理客户端的连接请求对应的重叠IO的第一存储空间、用于存储所述接收客户端发送的数据请求对应的重叠IO的第二存储空间以及用于存储所述向客户端发送数据请求对应的重叠IO的第三存储空间;
通过所述服务线程循环查看所述第一存储空间、所述第二存储空间以及所述第三存储空间中的重叠IO,如果查看到当前重叠IO处理完成,继续处理下一个存储空间的重叠IO。
2.如权利要求1所述的方法,其特征在于,在所述调用accept函数之前,所述方法还包括:初始化安全描述符;
将所述安全描述符的安全访问级别设置为最低等级;
创建安全属性描述结构,将安全访问级别设置为最低等级的所述安全描述符传入所述安全属性描述结构的属性字段中;
将创建的所述安全属性描述结构传入所述CreateNamedPipe函数的安全属性参数中,以使得所述CreateNamedPipe函数的安全属性设置为所述预设安全访问属性。
3.如权利要求1所述的方法,其特征在于,在所述如果查看到当前重叠IO处理完成之后,所述方法还包括:将所述当前重叠IO从对应的存储空间中删除。
4.如权利要求1所述的方法,其特征在于,所述如果查看到当前重叠IO处理完成,继续处理下一个存储空间的重叠IO,包括:如 果 所 述 当 前 重 叠 I O 为 所 述 第 一 存 储 空 间 中 的 重 叠 I O ,调 用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定有客户端连接到所述服务器;
调用onAccepted函数,在所述onAccepted函数中创建第一会话对象,调用所述第一会话对象的asyncReadSome函数,读取所述客户端发送的数据;
继续处理下一个存储空间的重叠IO。
5.如权利要求1所述的方法,其特征在于,所述如果查看到当前重叠IO处理完成,继续处理下一个存储空间的重叠IO,包括:如 果 所 述 当 前 重 叠 I O 为 所 述 第 二 存 储 空 间 中 的 重 叠 I O ,调 用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定成功接收到来自客户端发送的数据;
通过所述当前重叠IO中Pointer字段获取所述当前重叠IO对应的第二会话对象;
调用所述第二会话对象的onReadComplete函数处理接收到的数据;
调用所述第二会话对象的asyncReadSome函数,把下一个读取的重叠IO放入到所述第二存储空间;
继续处理下一个存储空间的重叠IO。
6.如权利要求1所述的方法,其特征在于,所述如果查看到当前重叠IO处理完成,继续处理下一个存储空间的重叠IO,包括:如果所述当前重叠IO为所述第三存储空间中的重叠IO,定位与所述当前重叠IO对应的第三会话对象;
调用所述第三会话对象的asyncWriteSome函数异步的发送数据至客户端;
调用HasOverlappedIoCompleted函数查看所述当前重叠IO,如果所述HasOverlappedIoCompleted函数返回值为“true”,确定成功的将数据发送至客户端;
继续处理下一个存储空间的重叠IO。
7.一种电子设备,应用于服务器,其特征在于,包括:
创建单元,用于创建服务线程,所述服务线程用于处理针对客户端的异步任务,所述异步任务包括处理客户端的连接请求、接收客户端发送的数据请求以及向客户端发送数据请求;
调用单元,用于调用accept函数,通过所述accept函数调用设置了预设安全访问属性的CreateNamedPipe函数创建异步的命名管道句柄和通过所述accept函数创建重叠IO,将所述命名管道句柄传入所述重叠IO的Pointer字段中,调用ConnectNamedPipe函数,异步等待来自客户端的所述异步任务,将所述重叠IO存放至与所述异步任务对应的存储空间中,其中,所述命名管道句柄通过所述预设安全访问属性指定访问等级,所述命名管道句柄指定的访问等级使得所述服务器以管理员权限或非管理员权限创建所述命名管道句柄情况下,所述客户端均能访问所述命名管道句柄,所述服务器中设置有用于存储所述处理客户端的连接请求对应的重叠IO的第一存储空间、用于存储所述接收客户端发送的数据请求对应的重叠IO的第二存储空间以及用于存储所述向客户端发送数据请求对应的重叠IO的第三存储空间;
处理单元,用于通过所述服务线程循环查看所述第一存储空间、所述第二存储空间以及所述第三存储空间中的重叠IO,如果查看到当前重叠IO处理完成,继续处理下一个存储空间的重叠IO。
8.如权利要求7所述的电子设备,其特征在于,所述电子设备还包括:
安全访问属性设置单元,用于初始化安全描述符,将所述安全描述符的安全访问级别设置为最低等级,创建安全属性描述结构,将安全访问级别设置为最低等级的所述安全描述符传入所述安全属性描述结构的属性字段中,将创建的所述安全属性描述结构传入所述CreateNamedPipe函数的安全属性参数中,以使得所述CreateNamedPipe函数的安全属性设置为所述预设安全访问属性。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任一项所述的进程间通信方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的进程间通信方法的步骤。