SSL非阻塞通信方法及用于SSL非阻塞通信的服务器技术

技术编号:8048055 阅读:698 留言:0更新日期:2012-12-06 23:13
本发明专利技术提供了一种SSL非阻塞通信的方法及用于SSL非阻塞通信的服务器,所述方法包括:服务器监听网络I/O事件,若为连接事件,则注册读事件;若为写事件,则执行将所述缓冲区中的第二加密数据写入网络的写操作,然后依据预设的SSL握手过程获取当前握手状态,根据不同握手状态执行对应操作。若为读事件,则执行从网络中获取第一加密数据的读操作,并将所述第一加密数据写入预置的缓冲区中,然后依据预设的SSL握手过程获取当前握手状态,根据不同握手状态执行对应操作。本发明专利技术既能保证进行SSL协议非阻塞的高性能通讯,又能控制整个SSL协议的握手交互过程,并易于获取握手交互过程中的相关报文,解决了诸多面向SSL协议应用的问题。

【技术实现步骤摘要】

【技术保护点】
一种SSL非阻塞通信的方法,其特征在于,包括:步骤S101、服务器监听网络I/O事件,并获取所监听到网络I/O事件的类型;若为连接事件,则执行步骤S102;若为读事件,则执行步骤S103;若为写事件,则执行步骤S110;步骤S102、依据所述连接事件注册读事件,返回步骤S101;步骤S103、执行从网络中获取第一加密数据的读操作,并将所述第一加密数据写入预置的缓冲区中,转步骤S104;步骤S104、依据预设的SSL握手过程获取当前握手状态,若所述握手状态为数据解密,则执行步骤S105;若所述握手状态为数据加密,则执行步骤S109;步骤S105、对所述缓冲区中的第一加密数据进行解密,若解密成功,获得第一数据,则执行步骤S106,若解密不成功,则执行步骤S108;步骤S106、判断解密获得的第一数据是否为客户端请求原文,若是,则结束本次SSL握手过程;若否,则执行步骤S107;步骤S107、将所述第一数据写入缓冲区,并返回步骤S104;步骤S108、注册读事件,并返回步骤S101;步骤S109、对所述缓冲区中的第一数据进行加密,获得第二加密数据,注册写事件,返回步骤S101;步骤S110、执行将所述缓冲区中的第二加密数据写入网络的写操作,转步骤S104。...

【技术特征摘要】

【专利技术属性】
技术研发人员:彭渊
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1