魔力网关多线程规划方案,懂的一起来探讨。。。
魔力网关多线程规划方案魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 h" R# G- b W
bbs.mocwww.com8 ^) n" D. @3 Z) L
映射器不同于服务器,单纯的映射器就是一个客户端和服务器端的收发员,从这个意义上讲,映射器本身并不需要多线程。
! E8 z' g$ R" g7 v( W
6 O' p* v5 y8 ~5 N# _4 @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 对于魔力网关而言,采用了Windows的消息驱动机制,工作在非阻塞方式之下,如果它只处理收发工作,已经是一款很高效很优秀的映射器了。: Q- R5 O" k7 L6 I7 U9 [8 q7 m. f6 ]
! z0 K0 q/ R# s \( b7 g8 D/ E魔力私服,最新魔力宝贝私服技术交流 然而,我们的这个魔力网关还额外承担了收发员之外的工作,使得程序在执行过程,出现了一些瓶颈,这个瓶颈主要出现在、程序的收发环节。
0 Z7 W) j; F* A% qbbs.mocwww.com
2 @6 E7 B! b) [; W妖城在线论坛 程序的收发过程由消息驱动,原本做好收发员的工作,对过往数据包直接转发即可,但我们现在这个过程里,增加了解密、特征串判定、数据保存、数据显示这些及其耗时的工作,使得这个过程成了整个进程最为繁忙的过程,这是程序最为严重的瓶颈处。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 ]0 p! ~) ]/ S' v- }
' G9 M% x1 p0 k8 q! _魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com5 K. e X! H% n7 y- i, P! H
妖城在线论坛6 s- z( \% R% E/ }. \& b$ [
基于Windows“1/10秒”原则,该过程繁重的工作量,很有可能使得其工作时间超过“1/10”秒,因此,这是必须关注并处理的环节之一。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ ~/ O G1 E( S& F3 |
7 |2 b( L1 O3 j" d0 V6 _妖城在线论坛 为此,考虑将本映射器分成以下若干进程:魔力私服,最新魔力宝贝私服技术交流& `0 s3 i0 a: h1 A1 _) P2 u
妖城在线论坛3 U. K: E, y/ B, n! M9 ?! Q
1、主线程:负责基本的初始化、界面的维持、一些界面消息和常规消息的处理等;
$ w4 h0 O9 H+ j3 H* S& W U0 |- \: O魔力私服,最新魔力宝贝私服技术交流
4 M6 ?2 \5 E+ Sbbs.mocwww.com2、映射器收发线程A/B/C~/J:负责、收发工作、客户端数据解密、关键特征串判定等;妖城在线论坛. I/ N9 I6 f% z8 R S
/ J3 R# b G4 ?" K3、映射器线程:负责网络初始化、连接管理(建立或者删除)、收发线程调度等;
* Q0 o5 N' b% _妖城在线论坛魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! v8 I. l0 t# t- H- ?( V
4、数据管理线程:负责其他数据解密(服务器端)、数据保存、数据显示等。
7 u, i% C+ R, s$ ebbs.mocwww.com# E1 g$ q8 P' |5 p# E
总共分成4大模块、13个线程。要知道,对于单处理器系统而言,增加线程并不提升速度。而现在都是多核,多线程——解决瓶颈才是其根本。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% g9 D. r4 U! p0 X. i
妖城在线论坛; u& j. d) e. d) G# h/ R, S
另外:
+ E, t ]6 x% t" L' W6 v' K 登录器认证线程,只识别是不是自己的登陆器。
/ r1 d/ W) u3 C1 B; G, F
. C6 Y2 K; x/ l. m) W; `9 A魔力私服,最新魔力宝贝私服技术交流
{6 E j3 U0 ]0 A5 |) v7 M7 J1 ~妖城在线论坛比如A线程在调用解密模块,没完成时候,B线程也要调用。这时候,解密模块的缓存中都是A的数据,那B就会冲毁掉 ,妖城在线论坛+ ?. t$ q x1 _
& l# D( m! @& q: c9 cbbs.mocwww.com+ T7 S0 f, P& t/ v" V5 R' j
凡是线程共享的子程序,都不能在其内用局部变量 怎么办 如果线程守护会浪费我们的多核CPU协作,—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( {7 ?" r5 z$ m
有些东西是必须顺序执行的:接收、解密、判断、发送 ,郁闷恼火大家支持下提点意见。 现在的是测试版多个解密功能,以后为缓解可以直接加密的对照,能去掉不必要的解密模块。
* \- S9 B. r6 p; a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 a7 G m, ]$ |! P6 W9 a/ w ^; S" {
一些不影响系统总体的运行过滤,可以单独一个线程里完成,现在其实瓶颈就在接发过程,请各大高手帮忙一起出谋划策完善魔力防御。