实现超大规模连接TCP/IP网络的通信方法技术

技术编号:7789158 阅读:329 留言:0更新日期:2012-09-21 23:29
本发明专利技术提供一种实现超大规模连接TCP/IP网络的通信方法,它利用面向对象的程序设计方法,封装一个网络IO模块并通过它实现通信:调用HHCOMM_Create()函数,获得模块句柄;使用ConnectInfo结构体,填充节点信息,并调用HHCOMM_Init()函数,初始化节点;调用功能设置函数,启用或关闭有限特殊功能;调用HHCOMM_SetNotifyHandle()函数,设置窗口消息进行数据接收;启动线程,处理函数接收数据;调用HHCOMM_Start()函数,启动模块收发数据。该方法具有简单易用、稳定性强、容错能力好、运行高效的优点。

【技术实现步骤摘要】

本专利技术涉及ー种通信方法,具体的说,涉及了一种实现超大規模连接TCP/IP网络的通信方法。
技术介绍
在进行C/S架构软件开发的过程中,当服务器面临成千上百个连接时,一个好的网络模块设计往往对系统的整体性能起着决定作用。在Windows下进行网络服务器开发有多个网络IO模型可供选择,但进行高并发服务器开发时,往往采用完成端ロ模型,但由于该模型比较复杂,在进行使用时,往往由于使 用方法不当而使该模型发挥不出应有的效率。为了解决以上存在的问题,人们一直在寻求ー种理想的技术解决方案。
技术实现思路
本专利技术的目的是针对现有技术的不足,从而提供一种简单易用、稳定性强、容错能力好、运行高效的实现超大规模连接TCP/IP网络的通信方法。为了实现上述目的,本专利技术所采用的技术方案是一种实现超大規模连接TCP/IP网络的通信方法,它利用面向对象的程序设计方法,对网络IO模型进行封装并构成网络IO模块,并通过该网络IO模块实现超大规模连接TCP/IP网络的通信,包括以下步骤 步骤I、调用HHC0MM_Create O函数,获得ー个模块句柄; 步骤2、使用ConnectInfo结构体,填充节点信息,并调用HHC0MM_Init()函数,初始化一个节点; 步骤3、调用功能设置函数,启用或关闭有限特殊功能; 步骤4、调用HHCOMM_SetN0tifyHandle O函数,设置ー个窗ロ消息或线程消息进行数据接收; 步骤5、启动ー个线程或创建ー个窗ロ消息,处理函数接收数据; 步骤6、调用HHC0MM_Start O函数,启动网络IO模块开始收发数据。本专利技术相对现有技术具有突出的实质性特点和显著进步,具体的说,该网络IO模块隐藏了复杂的技术细节,对外提供了简单易用的接ロ,使得开发高并发网络服务器变得简单而且高效;该方法具有简单易用、稳定性强、容错能力好、运行高效的优点。具体实施例方式下面通过具体实施方式,对本专利技术的技术方案做进ー步的详细描述。一种实现超大規模连接TCP/IP网络的通信方法,它利用面向对象的程序设计方法,对网络IO模型进行封装并构成网络IO模块,并通过该网络IO模块实现超大规模连接TCP/IP网络的通信,包括以下步骤 步骤I、调用HHC0MM_Create O函数,获得ー个模块句柄;步骤2、使用ConnectInfo结构体,填充节点信息,并调用HHCOMM_Init()函数,初始化一个节点; 步骤3、根据需要,调用功能设置函数,启用或关闭有限特殊功能; 步骤4、调用HHCOMM_SetN0tifyHandle O函数,设置ー个窗ロ消息或线程消息进行数据接收; 步骤5、启动ー个线程或创建ー个窗ロ消息,处理函数接收数据; 步骤6、调用HHCOMM_Start O函数,启动网络IO模块开始收发数据。该网络IO模块共提供了 26个函数,该网络IO模块同时既可以做服务端也可以做客户端,对用户来说不用关心节点是服务端还是客户端,发送接收数据时只需要指定节点ID即可。该网络IO模块的功能有如下几点1、可以调用在模块启动后调用HHC0MM_AddConnect O动态添加节点无需重启模块。2、可以通过调用HHCOMM_SetValidPeerIDs O添加合法的节点,并通过调用 HHCOMM_SetParameter O 使用 PARAM_CHECK_ACCEPT_SOCKET_VALID參数启用节点ID过滤功能。3、可以通过调用HHCOMiLRegLogListenerO并创建ー个函数进行日志输出输出模块运行状态。4、可以通过调用HHCOMM_GetParameter()和相关參数获得内存池和整个模块内存使用状态。5、该模块使用内存池可以避免模块频繁分配释放内存,并保持内存使用稳定。6、给模块可以对每个节点数据通信状况进行统计,具体统计内容见SocketStatInfo结构体。7、该模块支持简单的协议解析功能,并且用户可以很容易将自己定义的协议加入到模块中,目前支持微机监测协议和智能分析协议。该网络IO模块通过现场检验,具有优秀的稳定性和很好的容错能力,并且由于采用面向对象的设计方法,具有很好的功能扩展能力。我们利用模拟客户端,对该模块在1024个连接每个连接每秒发送一包IM的数据的环境进行了测试,该模块运行状态良好,CPU和内存使用率都比较低;我们将该模块使用到了我们的微机监测服务器上,使用后跟以前比较,软件的稳定性和网络吞吐能力得到了很大提尚。最后应当说明的是以上实施例仅用以说明本专利技术的技术方案而非对其限制;尽管參照较佳实施例对本专利技术进行了详细的说明,所属领域的普通技术人员应当理解依然 可以对本专利技术的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本专利技术技术方案的精神,其均应涵盖在本专利技术请求保护的技术方案范围当中。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1 一种实现超大規模连接TCP/IP网络的通信方法,其特征在于利用面向对象的程序设计方法,对网络IO模型进行封装并构成网络IO模块,并通过该网络IO模块实现超大规模连接TCP/IP网络的通信,包括以下步骤步骤I、调用HHC0MM_Create O函数,获得ー个模块句柄;步骤2、使用ConnectInfo结构体,填充节点信息,并调用H...

【专利技术属性】
技术研发人员:赵春阳石成
申请(专利权)人:河南辉煌科技股份有限公司
类型:发明
国别省市:

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

1