【技术实现步骤摘要】
一种服务器的socket加密通信方法
本专利技术涉及数据通信领域,特别涉及一种服务器的socket加密通信方法。
技术介绍
现有技术中,服务器的通信方法包括单工通信、半双工通信和全双工通信三种。单工通信是指消息只能单方向传输的工作方式。半双工通信可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。全双工通信是指在通信的任意时刻,允许数据同时在两个方向上传输。但是,一般的通信方法在速度、效率和安全性方面并不理想。
技术实现思路
本专利技术提供了一种服务器的socket加密通信方法,解决了现有技术的通信方法在速度、效率以及安全性方面并不理想的技术问题。本专利技术解决上述技术问题的技术方案如下:一种服务器的socket加密通信方法,包括:S1、启动新线程,根据预定参数创建服务器的socket处理器对象,同时启动新线程创建socket连接监视器对象,所述预定参数包括:服务类型、监听地址、监听端口、连接设定参数、消息格式变换处理类以及消息处理器;S2、在所述socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,并将所述服务器socket通道对象设置为非阻塞模式,将所述服务器socket连接对象与所述监听地址和所述监听端口进行绑定;S3、在所述事件选择器中,为所述服务器socket通道对象注册客户端请求连接事件;S4、启动新线程,根据所述服务器socket通道对象、所述服务器socket对象和所述事件选择器创建并启动服务器socket运行对象,接收第一客户端发送的连接请求事件,生成第一socket连接对象、所述第 ...
【技术保护点】
一种服务器的socket加密通信方法,其特征在于,包括:S1、启动新线程,根据预定参数创建服务器的socket处理器对象,同时启动新线程创建socket连接监视器对象,所述预定参数包括:服务类型、监听地址、监听端口、连接设定参数、消息格式变换处理类以及消息处理器;S2、在所述socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,并将所述服务器socket通道对象设置为非阻塞模式,将所述服务器socket连接对象与所述监听地址和所述监听端口进行绑定;S3、在所述事件选择器中,为所述服务器socket通道对象注册客户端请求连接事件;S4、启动新线程,根据所述服务器socket通道对象、所述服务器socket对象和所述事件选择器创建并启动服务器socket运行对象,接收第一客户端发送的连接请求事件,生成第一socket连接对象、所述第一socket通道对象和SSL引擎,与所述第一客户端建立socket连接;S5、连接成功后,通过所述第一socket连接对象、所述第一socket通道对象和所述SSL引擎与所述第一客户端进行数据交互,同时将所述第一so ...
【技术特征摘要】
1.一种服务器的socket加密通信方法,其特征在于,包括:S1、启动新线程,根据预定参数创建服务器的socket处理器对象,同时启动新线程创建socket连接监视器对象,所述预定参数包括:服务类型、监听地址、监听端口、连接设定参数、消息格式变换处理类以及消息处理器;S2、在所述socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,并将所述服务器socket通道对象设置为非阻塞模式,将所述服务器socket连接对象与所述监听地址和所述监听端口进行绑定;S3、在所述事件选择器中,为所述服务器socket通道对象注册客户端请求连接事件;S4、启动新线程,根据所述服务器socket通道对象、所述服务器socket对象和所述事件选择器创建并启动服务器socket运行对象,接收第一客户端发送的连接请求事件,生成第一socket连接对象、所述第一socket通道对象和SSL引擎,与所述第一客户端建立socket连接;S5、连接成功后,通过所述第一socket连接对象、所述第一socket通道对象和所述SSL引擎与所述第一客户端进行数据交互,同时将所述第一socket连接对象添加到所述socket连接监视器对象的socket连接监视列表中,以对所述第一socket连接对象的连接状态进行监视。2.根据权利要求1所述的一种服务器的socket加密通信方法,其特征在于,步骤S4中,接收第一客户端发送的连接请求事件,生成第一socket连接对象、所述第一socket通道对象和SSL引擎,与所述第一客户端建立socket连接的方法包括:A1、当所述服务器socket通道对象接收到所述第一客户端发送的连接请求事件时,将所述连接请求事件报告给所述事件选择器;A2、当所述事件选择器接收到所述连接请求事件时,创建第一socket连接对象和第一socket通道对象,生成第一连接ID,将所述第一socket通道对象作为所述第一socket连接对象的通信通道;A3、根据所述连接设定参数中的SSL信息创建并初始化SSL上下文对象,根据所述SSL上下文对象创建SSL引擎;A4、通过所述第一socket通道对象、所述第一socket连接对象和所述SSL引擎与所述第一客户端建立socket连接。3.根据权利要求1或2所述的一种服务器的socket加密通信方法,其特征在于,步骤S5中,连接成功之后,通过所述第一socket连接对象、所述第一socket通道对象和所述SSL引擎与所述第一客户端进行数据交互之前,还包括:B1、在所述事件选择器中为所述第一socket通道对象注册读事件,并给所述第一socket通道对象返回读事件选择键;B2、将所述读事件选择键与所述第一socket连接对象的关系保存到连接对象列表中。4.根据权利要求3所述的一种服务器的socket加密通信方法,其特征在于,步骤S5中,通过所述第一socket连接对象、所述第一socket通道对象和所述SSL引擎与所述第一客户端进行数据交互的方法包括:C1、当所述第一socket通道对象接收到所述第一客户端发送的读请求事件时,将所述读请求事件报告给所述事件选择器,通过所述事件选择器将所述读事件选择键放入事件对象集合中;C2、当所述服务器需要向所述第一客户端写入数据时,在所述事件选择器中为所述第一socket通道对象注册写事件,并给所述第一socket通道对象返回写事件选择键;C3、当所述第一socket通道对象与所述第一客户端的socket通道对象的写操作准备就绪时,在所述事件选择器中生成可写事件,将所述写事件选择键放入所述事件对象集合中;C4、轮询...
【专利技术属性】
技术研发人员:方敏,
申请(专利权)人:武汉票据交易中心有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。