CN102571578A - 一种采用完全端口技术实现50万用户在线通讯的方法 - Google Patents
一种采用完全端口技术实现50万用户在线通讯的方法 Download PDFInfo
- Publication number
- CN102571578A CN102571578A CN2011104565290A CN201110456529A CN102571578A CN 102571578 A CN102571578 A CN 102571578A CN 2011104565290 A CN2011104565290 A CN 2011104565290A CN 201110456529 A CN201110456529 A CN 201110456529A CN 102571578 A CN102571578 A CN 102571578A
- Authority
- CN
- China
- Prior art keywords
- socket
- socket client
- communication
- iocp
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明属于计算机控制技术领域,涉及一种采用完全端口技术实现50万用户在线通讯的方法,先采用IOCP技术建立Socket服务端即中间件的通讯服务端;设定Socket服务端支持的最大同时在线套接字客户端数量为MaxConnectionNumber,再为每个套接字客户端分配读写内存空间,然后建立套接字客户端模拟程序,链接IOCP服务器,进行通讯,将Socket Client模拟程序同时开启多个,能够同时模拟多个Socket Client与IOCPServer进行通讯;每一个Socket Client成功的通讯一次为一个用户在线,最后在统计50万成功通讯结束时,其总耗时间为8-12分钟;其工艺过程简单,原理可靠,处理信息量大,处理速度快,性能好,节省访间时间,提高网络利用效率。
Description
技术领域:
本发明属于电子通讯计算机控制技术领域,涉及一种Windows2003Server系统中的多用户同时在线通讯的实现方法,特别是一种采用完全端口(IOCP)技术实现50万用户在线通讯的方法,适用于企业内部网络与广义互联网之间建立服务连接。
背景技术:
目前的IT业界,用来作为企业内部网络与广义互联网之间通信的方案中,从连接方式上区分为长链接和短链接。长链接是指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持;短链接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。目前,门户网站和QQ聊天可支持上亿用户同时访问,本质上就是他们采用了短链接技术,其用户在与系统交互的时候,建立链接,交互完毕以后,就断开链接。这样系统资源得到极大的重复利用;而真正实现长链接上万用户同时在线的成熟大型应用当属WOW(魔兽世界)。其最高在线人数达到过100万。他有近300台最高性能服务器建立的集群作支撑。也即是说长链接在保证多用户并发的前提是增加硬件成本。
发明内容:
本发明的目的在于克服现有技术存在的缺点,在对比ActiveMQ、Http、IOCP和穿透技术多项方案的基础上,以IOCP为技术实现的重点,采用IOCP技术在同等级硬件服务器基础上增加用户访问量的解决方案,有效实现50万用户同时在线通讯的技术方法。
为了实现上述目的,本发明的实现包括下列步骤:
(1)、先采用IOCP技术建立Socket服务端即中间件的通讯服务端;
(2)、设定Socket服务端支持的最大同时在线套接字客户端(Socket Client)数量为MaxConnectionNumber,该值可以是10、100、1000或10000;
(3)、再为每个套接字客户端(Socket Client)分配读写内存空间,该空间值为ClientMemorySize,单位为byte,具体值为1024;
(4)、然后建立套接字客户端(Socket Client)模拟程序,链接IOCP服务器,进行通讯,通讯一次的步骤为:
a.Socket Client链接IOCP服务器;
b.Socket Client发送数据包,该数据包小于ClientMemorySize;
c.Socket Client接收数据包;
d.Socket Client关闭与IOCP服务器的链接;
(5)、将Socket Client模拟程序同时开启多个,能够同时模拟多个Socket Client与IOCPServer进行通讯;
(6)、每一个Socket Client成功的通讯一次(由Socket Client断开链接)为一个用户在线,同时开启的Socket Client数量为ClientNumber;
(7)、最后在统计50万成功通讯结束时,其总体耗时间TotalTime为8-12分钟。
本发明与现有技术相比,采用一个终端通信视为一个客户端访问,在只有一台服务器的前提下,采用IOCP技术可承载不低于5万用户的并发访问,具有先进的技术优势:一是IOCP具备可指定的并行处理最大值为10000;二是处理性能良好,验证时间一小时内不间断进行通信收发,IOCPServer运行稳定;三是IOCPServer处理终端通信速度快,按照指定的MaxConnectionNumber进行估算,IOCPServer的吞吐量约为800个/秒;四是实际验证总时长为10.41分,在总时长内完成50万SocketClient的通信访问;其总体工艺过程简单,技术原理可靠,处理信息量大,处理速度快,性能好,节省访问时间,提高网络的有效利用效率。
附图说明:
图1为本发明的工艺步骤流程结构原理示意框图。
具体实施方式:
实施例:
本实施例的实现方法包括下列步骤:
1、采用IOCP技术,建立Socket服务端即中间件的通讯服务端;
2、Socket服务端支持的最大同时在线Socket Client数量为MaxConnectionNumber,该值可以是10、100、1000或10000;
3、为每个Socket Client分配读写内存空间,该空间值为ClientMemorySize(单位:byte)假定该值为1024;
4、建立Socket Client模拟程序,链接IOCP服务器,进行通讯,通讯一次的步骤为:
a.Socket Client链接IOCP服务器;
b.Socket Client发送数据包,该数据包小于ClientMemorySize;
c.Socket Client接收数据包;
d.Socket Client关闭与IOCP服务器的链接;
5、Socket Client模拟程序可同时开启多个,能够同时模拟多个Socket Client与完全端口服务器(IOCPServer)进行通讯;
6、每一个Socket Client成功的通讯一次(由Socket Client断开链接)为一个用户在线,同时开启的Socket Client数量为ClientNumber;
7、统计50万成功通讯结束时,总体耗时时间TotalTime。
Claims (1)
1.一种采用完全端口技术实现50万用户在线通讯的方法,其特征在于包括下列步骤:
(1)、先采用IOCP技术建立Socket服务端即中间件的通讯服务端;
(2)、设定Socket服务端支持的最大同时在线套接字客户端数量为MaxConnectionNumber,该值可以是10、100、1000或10000;
(3)、再为每个套接字客户端分配读写内存空间,该空间值为ClientMemorySize,单位为byte,具体值为1024;
(4)、然后建立套接字客户端模拟程序,链接IOCP服务器,进行通讯,通讯一次的步骤为:
a.Socket Client链接IOCP服务器;
b.Socket Client发送数据包,该数据包小于ClientMemorySize;
c.Socket Client接收数据包;
d.Socket Client关闭与IOCP服务器的链接;
(5)、将Socket Client模拟程序同时开启多个,能够同时模拟多个Socket Client与IOCPServer进行通讯;
(6)、每一个Socket Client成功的通讯一次为一个用户在线,同时开启的Socket Client数量为ClientNumber;
(7)、最后在统计50万成功通讯结束时,其总体耗时间TotalTime为8-12分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104565290A CN102571578A (zh) | 2011-12-31 | 2011-12-31 | 一种采用完全端口技术实现50万用户在线通讯的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104565290A CN102571578A (zh) | 2011-12-31 | 2011-12-31 | 一种采用完全端口技术实现50万用户在线通讯的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102571578A true CN102571578A (zh) | 2012-07-11 |
Family
ID=46416079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104565290A Pending CN102571578A (zh) | 2011-12-31 | 2011-12-31 | 一种采用完全端口技术实现50万用户在线通讯的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102571578A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946362A (zh) * | 2012-09-13 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种套接字资源分配方法及设备 |
CN103312688A (zh) * | 2013-03-13 | 2013-09-18 | 四川天翼网络服务有限公司 | 一种基于socket的包驱动方法 |
CN106131162A (zh) * | 2016-06-29 | 2016-11-16 | 广州慧睿思通信息科技有限公司 | 一种基于iocp机制实现网络服务代理的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464810A (zh) * | 2008-12-31 | 2009-06-24 | 金蝶软件(中国)有限公司 | 服务程序处理方法及服务器 |
CN101751507A (zh) * | 2008-12-04 | 2010-06-23 | 广州万达信息技术有限公司 | 网络游戏服务器系统 |
-
2011
- 2011-12-31 CN CN2011104565290A patent/CN102571578A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751507A (zh) * | 2008-12-04 | 2010-06-23 | 广州万达信息技术有限公司 | 网络游戏服务器系统 |
CN101464810A (zh) * | 2008-12-31 | 2009-06-24 | 金蝶软件(中国)有限公司 | 服务程序处理方法及服务器 |
Non-Patent Citations (1)
Title |
---|
林强等: "高性能I/O完成端口服务器的实现与优化", 《电脑知识与技术》, no. 33, 30 November 2009 (2009-11-30) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946362A (zh) * | 2012-09-13 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种套接字资源分配方法及设备 |
CN102946362B (zh) * | 2012-09-13 | 2016-08-31 | 杭州华三通信技术有限公司 | 一种套接字资源分配方法及设备 |
CN103312688A (zh) * | 2013-03-13 | 2013-09-18 | 四川天翼网络服务有限公司 | 一种基于socket的包驱动方法 |
CN103312688B (zh) * | 2013-03-13 | 2015-11-18 | 四川天翼网络服务有限公司 | 一种基于socket的包驱动方法 |
CN106131162A (zh) * | 2016-06-29 | 2016-11-16 | 广州慧睿思通信息科技有限公司 | 一种基于iocp机制实现网络服务代理的方法 |
CN106131162B (zh) * | 2016-06-29 | 2019-06-18 | 广州慧睿思通信息科技有限公司 | 一种基于iocp机制实现网络服务代理的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023872B (zh) | 一种云游戏服务平台 | |
CN104426885B (zh) | 异常账号提供方法及装置 | |
CN103049332B (zh) | 一种虚拟cpu调度方法 | |
CN108196935B (zh) | 一种面向云计算的虚拟机节能迁移方法 | |
CN107070752B (zh) | 一种长连接容量的测试方法及测试系统 | |
CN104980421B (zh) | 一种批量请求处理方法及系统 | |
CN102571578A (zh) | 一种采用完全端口技术实现50万用户在线通讯的方法 | |
Sahadevan et al. | An offline online strategy for IoT using MQTT | |
CN108650334A (zh) | 一种会话失效的设置方法及装置 | |
CN104821947A (zh) | 网络游戏数据的传输方法 | |
CN103577161A (zh) | 一种面向大数据的数据频度并行处理方法 | |
CN115150471A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN114697391A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN111651320A (zh) | 一种高并发连接方法和系统 | |
CN115641180A (zh) | 一种请求处理的方法、相关装置及设备 | |
CN108600395A (zh) | 一种提醒用户当前网络变化的装置及方法 | |
CN103220260B (zh) | 更新数据的方法、服务器、客户端及系统 | |
CN100589423C (zh) | 识别大型多人在线角色扮演游戏数据流的方法及装置 | |
CN104079472A (zh) | 一种移动游戏产品实现实时社交功能的方法 | |
JP2013140538A (ja) | 検証試験のためのプログラム、情報処理方法及び情報処理装置 | |
CN101901273B (zh) | 一种基于内存磁盘的高性能存储方法及其装置 | |
CN115391158A (zh) | 一种时延确定方法、系统、装置及电子设备 | |
US8371941B2 (en) | System and method for game state reduction | |
CN109831321B (zh) | 一种数据中心中rdma应用传输参数自适应选择方法 | |
CN107707547A (zh) | 一种DDoS攻击的检测方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |