魔力网关多线程规划方案,懂的一起来探讨。。。
魔力网关多线程规划方案, R4 Z5 W( |# y0 S7 g' b! J
魔力私服,最新魔力宝贝私服技术交流' w- X4 J1 b' g; n# z; `
映射器不同于服务器,单纯的映射器就是一个客户端和服务器端的收发员,从这个意义上讲,映射器本身并不需要多线程。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 H# b5 m5 V3 G2 J% a0 @% v
妖城在线论坛% E. {/ u' M$ K# d5 L4 v* m5 t4 `- q
对于魔力网关而言,采用了Windows的消息驱动机制,工作在非阻塞方式之下,如果它只处理收发工作,已经是一款很高效很优秀的映射器了。
$ Y/ t. m! {/ [9 s0 abbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( o3 a8 P8 B6 p2 p
然而,我们的这个魔力网关还额外承担了收发员之外的工作,使得程序在执行过程,出现了一些瓶颈,这个瓶颈主要出现在、程序的收发环节。
: B& p( C7 @% P; d) O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
4 p0 G! x! i% y! b; V 程序的收发过程由消息驱动,原本做好收发员的工作,对过往数据包直接转发即可,但我们现在这个过程里,增加了解密、特征串判定、数据保存、数据显示这些及其耗时的工作,使得这个过程成了整个进程最为繁忙的过程,这是程序最为严重的瓶颈处。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: e. b+ B3 E5 W4 v f+ ^7 I
2 Q) n7 ~9 H7 Pbbs.mocwww.com* ~1 N& d% N. O4 X" K
魔力私服,最新魔力宝贝私服技术交流- H5 P$ D" `- S/ @
基于Windows“1/10秒”原则,该过程繁重的工作量,很有可能使得其工作时间超过“1/10”秒,因此,这是必须关注并处理的环节之一。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" p/ E4 e9 E4 L3 I% J [: S
bbs.mocwww.com9 i" d. H. }$ ? {, p: u7 F
为此,考虑将本映射器分成以下若干进程:3 U# c% o8 {8 g5 _ D
$ D6 h; Q1 k% S8 z7 h" w) c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1、主线程:负责基本的初始化、界面的维持、一些界面消息和常规消息的处理等;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 K( {6 j( X D4 J f
; A$ G4 T/ b. d$ b% g lbbs.mocwww.com2、映射器收发线程A/B/C~/J:负责、收发工作、客户端数据解密、关键特征串判定等;
% ~, c* ~' T- V- s6 k妖城在线论坛
6 v1 O, r) o7 l+ \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3、映射器线程:负责网络初始化、连接管理(建立或者删除)、收发线程调度等;
/ F, m# }/ R' `6 d7 q) q妖城在线论坛
3 h* h4 Q# u1 Q. N W# U5 e+ s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4、数据管理线程:负责其他数据解密(服务器端)、数据保存、数据显示等。
8 a! L( [; J5 R3 E4 p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ c2 Q0 D3 u _4 j% \" @
总共分成4大模块、13个线程。要知道,对于单处理器系统而言,增加线程并不提升速度。而现在都是多核,多线程——解决瓶颈才是其根本。bbs.mocwww.com7 h+ r1 b! K/ i
* O z! \4 J2 O0 j魔力私服,最新魔力宝贝私服技术交流另外:妖城在线论坛/ T0 G o) R# B, m" o/ D" O3 \- n- b
登录器认证线程,只识别是不是自己的登陆器。
: Q4 [- }) X8 H* R: d7 S
6 @+ T8 O' T! ~# L! K j- h妖城在线论坛
a$ h8 z% u9 l# n% o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表比如A线程在调用解密模块,没完成时候,B线程也要调用。这时候,解密模块的缓存中都是A的数据,那B就会冲毁掉 ,
& x0 m: `* T" \- p+ _9 ]; \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表妖城在线论坛- @( K) `) p* f, B) b
& x, N2 |4 z% j; c1 ?, I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表凡是线程共享的子程序,都不能在其内用局部变量 怎么办 如果线程守护会浪费我们的多核CPU协作,—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' @; e* f: T3 ^) V; J$ Z
有些东西是必须顺序执行的:接收、解密、判断、发送 ,郁闷恼火大家支持下提点意见。 现在的是测试版多个解密功能,以后为缓解可以直接加密的对照,能去掉不必要的解密模块。
+ l M& W: K6 u" a! h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
# @6 D W# l) O! M7 x+ b妖城在线论坛一些不影响系统总体的运行过滤,可以单独一个线程里完成,现在其实瓶颈就在接发过程,请各大高手帮忙一起出谋划策完善魔力防御。