一种复位socket连接的方法和装置的制造方法

文档序号:9330562阅读:426来源:国知局
一种复位socket连接的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机通信技术领域,特别涉及一种复位socket连接的方法和装置。
【背景技术】
[0002]在计算机之间建立socket连接或者在分布式设备的控制器之间建立socket连接,是实现计算机之间或者分布式设备的控制器之间通信的基础,一旦socket连接链路断开,将导致通信中断,因此,常常需要复位socket连接才能继续通信。
[0003]目前,复位socket连接的过程主要是:当socket连接不能正常传输数据时,业务模块将接收到该不能正常通信的通知,该通知以一定形式展现给用户,用户在接收到该通知后,通过向业务模块发送请求,以触发业务模块对socket连接进行复位,以使通信恢复正常。例如:浏览器作为业务模块,当socket连接异常时,该浏览器将接收到该不能正常通信的通知,该通知以网页无法打开的方式展现给用户,用户通过刷新浏览器的网页,就可以触发业务模块对socket连接进行复位,以使通信恢复正常即可以正常浏览网页,即在现有技术中,需要人为干预才能实现复位socket连接。

【发明内容】

[0004]本发明提供一种复位socket连接的方法和装置,使复位socket连接具有自动性。
[0005]—种复位socket连接的方法,将客户端的第一 socket和服务端的第二 socket进行连接,进行所述客户端和所述服务端间的数据传输,还包括:
[0006]确定所述客户端和所述服务端间的数据传输异常;
[0007]设置所述第一 socket的状态为暂停状态,并关闭所述第一 socket的连接;
[0008]确认所述第一 socket的五元组记录的第一五元组值;
[0009]将所述第一五元组值绑定连接请求;
[0010]将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket。
[0011]优选地,该方法进一步包括:设置定时器,并为所述定时器设置超时时间;
[0012]在所述关闭所述第一 socket的连接之后,在所述确认所述第一 socket的五元组记录的第一五元组值之前,进一步包括:
[0013]设置所述第二 socket状态为暂停状态,关闭所述第二 socket的连接;
[0014]启动所述定时器;
[0015]所述将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket,包括:在所述定时器设置的超时时间范围内,将所述绑定了所述第一五元组值的连接请求发送给戶斤述第二 socket。
[0016]优选地,在所述将所述绑定了所述第一五元组值的连接请求发送给所述第二socket之后,进一步包括:
[0017]当所述第一 socket和所述第二 socket成功连接时,停止所述定时器;
[0018]当超出所述定时器设置的超时时间,所述第一 socket和所述第二 socket仍未成功连接时,向所述客户端的业务模块发送通知。
[0019]优选地,该方法进一步包括:在所述第一 socket设置第一缓存队列;
[0020]在所述确定所述客户端和所述服务端间的数据传输异常之后,进一步包括:将所述客户端向所述服务端发送的数据请求存储在所述第一缓存队列;
[0021]在所述将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket之后,进一步包括:当所述第一 socket和所述第二 socket连接恢复后,将所述存储在所述第一缓存队列中的数据请求发送给所述服务端。
[0022]优选地,该方法进一步包括:在所述第二 socket设置第二缓存队列;
[0023]在所述确定所述客户端和所述服务端间的数据传输异常之后,进一步包括:将所述服务端向所述客户端发送的数据存储在所述第二缓存队列;
[0024]在所述将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket之后,进一步包括:当所述第一 socket和所述第二 socket连接恢复后,将所述存储在所述第二缓存队列中的数据发送给所述客户端。
[0025]优选地,该方法进一步包括:确定所述第二 socket记录的第二五元组值;
[0026]在所述将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket之后,进一步包括:
[0027]并将所述第一五元组值与所述第二 socket记录的第二五元组值进行对比;
[0028]如果所述第一五元组值与所述第二五元组值相同,则恢复所述第一 socket与所述第二 socket的连接。
[0029]优选地,所述五元组值,包括:源IP地址、目的IP地址、源端口号、目的端口号和协议;
[0030]所述将所述第一五元组值绑定连接请求,包括:将所述源IP地址和所述源端口号绑定连接请求;
[0031]所述将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket,包括:将所述绑定了源IP地址和源端口号连接请求,发送给所述目的IP地址、所述目的端口号和所述协议对应的所述第二 socket。
[0032]一种复位socket连接的装置,包括:
[0033]第一确定单元,用于确定所述客户端和所述服务端间的数据传输异常;
[0034]第一设置单元,在所述第一确定单元确定数据传输异常后,用于设置所述第一socket的状态为暂停状态,并关闭所述第一 socket的连接;
[0035]第二确定单元,用于确认处于暂停状态的所述第一 socket的五元组记录的第一五元组值;
[0036]发送请求单元,用于将所述第二确定单元确认的第一五元组值绑定连接请求,并将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket。
[0037]优选地,该装置进一步包括:第二设置单元和定时器单元,其中,
[0038]所述第二设置单元,用于在所述第一 socket的状态为暂停状态时,设置所述第二socket状态为暂停状态,关闭所述第二 socket的连接;
[0039]所述定时器单元,用于设置定时器,为所述定时器设置超时时间,并在所述第二socket状态为暂停状态时,启动所述定时器;
[0040]所述发送请求单元,用于在所述定时器单元为所述定时器设置的超时时间范围内,将所述绑定了所述第一五元组值的连接请求发送给所述第二 socket。
[0041]优选地,该装置进一步包括:发送通知单元,其中,
[0042]所述定时器单元,进一步用于当所述第一 socket和所述第二 socket成功连接时,停止所述定时器;
[0043]所述发送通知单元,用于当超出所述定时器设置的超时时间,所述第一 socket和所述第二 socket仍未成功连接时,向所述客户端的业务模块发送通知。
[0044]优选地,该装置进一步包括:第一缓存单元,其中,
[0045]所述第一缓存单元,用于在所述第一 socket设置第一缓存队列,在所述第一设置单元设置所述第一 socket处于暂停状态时,将所述客户端向所述服务端发送的数据请求存储在所述第一缓存队列;当所述第一 socket和所述第二 socket连接恢复后,将所述存储在所述第一缓存队列中的数据请求发送给所述服务端。
[0046]优选地,该装置进一步包括:第二缓存单元,其中,
[0047]所述第二缓存单元,用于在所述第二 socket设置第二缓存队列,在所述第一设置单元设置所述第一 socket处于暂停状态时,将所述服务端向所述客户端发送的数据存储在所述第二缓存队列;当所述第一 socket和所述第二 socket连接恢复后,将所述存储在所述第二缓存队列中的数据发送给所述客户端。
[0048]优选地,该装置进一步包括:
[0049]对比单元,用于确定所述第二 socket记录的第二五元组值,并将所述第一五元组值与所述第二 socket记录的第二五元组值进行对比;
[0050]如果所述第一五元组值与所述第二五元组值相同,则恢复所述第一 socket与所述第二 socket的连接。
[0051]优选地,所述五元组值,包括:源IP地址、目的IP地址、源端口号、目的端口号和协议;
[0052]所述发送请求单元,用于将所述源IP地址和所述源端口号绑定连接请求,并将所述绑定了源IP地址和源端口号连接请求,发送给所述目的IP地址、所述目的端口号和所述协议对应的所述第二 socket。
[0053]本发明实施例提供了一种复位socket连接的方法和装置,该方法包括:将客户端的第一 socket和服务端的第二 socket进行连接,进行所述客户端和所述服务端
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1