一种确保tcp通信过程中数据传输完整性的方法

文档序号:7657886阅读:2920来源:国知局
专利名称:一种确保tcp通信过程中数据传输完整性的方法
技术领域
本发明涉及一种确保TCP通信过程中数据传输完整性的方法,特别涉及一种通过 加入特殊标记的方式确保TCP通信数据交互过程中数据完整性的方法。
背景技术
采用TCP协议通信的客户端和服务器之间,在数据交互比较频繁的时候,由于网 络以及客户端和服务器本身种种可能存在的因素,经常会出现客户端或服务器接收到的一 个数据包里实际上包含多个独立的数据包,或者客户端或服务器发送的一个数据包被拆成 了多个数据包发送的情况。

发明内容
本发明所要解决的技术问题是提供一种确保TCP通信过程中数据传输完整性的 方法,增强程序稳定性。本发明所述的一种确保TCP通信过程中数据传输完整性的方法至少包括如下的 步骤步骤1 根据实际情况规定一个特殊字符做为每个消息包的结束标记。步骤2 检测要发送的数据包中是否包含 < 步骤1>中所述的消息包的结束标记。 如果包含则用其它的转义字符替换,以保证每个完整的消息包中最多只有一个结束标记。步骤3 客户端或服务器在每个要发送的完整数据包的最后加上 < 步骤1>中所述 的特殊标记。步骤4 客户端或服务器收到消息后根据特殊标记进行数据包完整性验证,并做 出相应的处理。本发明所述的一种棋牌游戏用户非正常登入服务器的处理方法,客户端或服务器 收到消息后根据特殊标记进行数据包完整性验证,并做出相应的处理,其步骤为步骤41 声明一个存储变量,将每次收到的数据都追加到该变量中.步骤42 检验〈步骤41>所述存储变量中是否包含〈步骤1>中所述的,若不包含, 则说明是不完整的数据包,不做任何处理.步骤43 根据 < 步骤42>检验结果,若不包1个或多个 < 步骤1>所述的结束标记, 则说明该数据包包含一个多个独立的数据包.以〈步骤1>所得结束标记为标记,获得每个 独立的数据包。步骤44 检验每个独立的数据包中是否包含 < 步骤2>中所述的转义字符,若包含 则把它还原成对应的特殊字符再进行处理。步骤45 删除 < 步骤41>所述的存储变量中已经处理过的数据包,以免发生数据
包的重复处理。本发明所述的一种确保TCP通信过程中数据传输完整性的方法,使得有效的保证 以TCP协议通信过程中出现的数据包的完整性。
具体实施例方式本发明的主要步骤如下步骤1 根据实际情况规定一个特殊字符做为每个消息包的结束标记。步骤2 检测要发送的数据包中是否包含消息包的结束标记。如果包含则用其它 的转义字符替换,以保证每个完整的消息包中最多只有一个结束标记。步骤3 客户端或服务器在每个要发送的完整数据包的最后加上特殊标记。步骤4 客户端或服务器收到消息后根据特殊标记进行数据包完整性验证,并做 出相应的处理。上述步骤4客户端或服务器收到消息后根据特殊标记进行数据包完整性验证,并 做出相应的处理的具体步骤为步骤41 声明一个存储变量,将每次收到的数据都追加到该变量中.步骤42 检验〈步骤41>所述存储变量中是否包含〈步骤1>中所述的,若不包含, 则说明是不完整的数据包,不做任何处理。步骤43 根据 < 步骤42>检验结果,若不包1个或多个 < 步骤1>所述的结束标记, 则说明该数据包包含一个多个独立的数据包.以〈步骤1>所得结束标记为标记,获得每个 独立的数据包。步骤44 检验每个独立的数据包中是否包含 < 步骤2>中所述的转义字符,若包含 则把它还原成对应的特殊字符再进行处理。步骤45 删除 < 步骤41>所述的存储变量中已经处理过的数据包,以免发生数据
包的重复处理。上述的技术方案实施时可以有效的保证以TCP协议通信过程中出现的数据包的
完整性。最后所应说明的是,以上实施例仅用以说明而并非限制本发明所描述的技术方 案;因此,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的 普通技术人员应当理解,仍然可以对本发明进行修改或者等同地替换;而一切不脱离本发 明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
权利要求
一种确保TCP通信过程中数据传输完整性的方法,其特征在于该方法至少包括如下的步骤步骤1根据实际情况规定一个特殊字符做为每个消息包的结束标记。步骤2检测要发送的数据包中是否包含消息包的结束标记。如果包含则用其它的转义字符替换,以保证每个完整的消息包中最多只有一个结束标记。步骤3客户端或服务器在每个要发送的完整数据包的最后加上特殊标记。步骤4客户端或服务器收到消息后根据特殊标记进行数据包完整性验证,并做出相应的处理。
2.根据权利要求1所述的一种确保TCP通信过程中数据传输完整性的方法,其特征在 于客户端或服务器收到消息后根据特殊标记进行数据包完整性验证,并做出相应的处理, 其步骤为步骤41 声明一个存储变量,将每次收到的数据都追加到该变量中. 步骤42 检验存储变量,若不包含,则说明是不完整的数据包,不做任何处理. 步骤43 若不包含1个或多个结束标记,则说明该数据包包含一个多个独立的数据包, 获得每个独立的数据包。步骤44 检验每个独立的数据包中是否包含〈步骤2>中所述的转义字符,若包含则把 它还原成对应的特殊字符再进行处理。步骤45 删除存储变量中已经处理过的数据包,以免发生数据包的重复处理。
全文摘要
一种确保TCP通信过程中数据传输完整性的方法,首先根据实际情况规定一个特殊字符做为每个消息包的结束标记;然后检测要发送的数据包中是否包含消息包的结束标记。如果包含则用其它的转义字符替换,以保证每个完整的消息包中最多只有一个结束标记;客户端或服务器在每个要发送的完整数据包的最后加上特殊标记;客户端或服务器收到消息后根据特殊标记进行数据包完整性验证,并做出相应的处理;本发明使得有效的保证以TCP协议通信过程中出现的数据包的完整性。
文档编号H04L29/06GK101895457SQ20091008417
公开日2010年11月24日 申请日期2009年5月20日 优先权日2009年5月20日
发明者刘立军, 张守文, 王磊, 陶勇胜 申请人:灰熊(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1