hch
2026-02-02 3f4f79ef92d50168793e83daaaa8cda7fe5f5ebf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
ò‰ic@sÒdZddlZddlZddlZddlmZmZmZmZm    Z    m
Z
m Z m Z m Z mZmZmZddlmZmZmZddlmZdd
d„ƒYZdd d    „ƒYZdS( s-
Êý¾Ý°ü´¦ÀíÄ£¿é
¸ºÔðÊý¾Ý°üµÄ½âÎö¡¢·Ö·¢ºÍ´¦Àí
iÿÿÿÿN( t ProtocolHeadt LoginPackett LogoutPackettEventSendPackettEventStrSendPackettHeartBeatPackett CMD_INTERFACEt SUB_CMD_LOGINtSUB_CMD_LOGOUTtSUB_CMD_EVENT_SENDtSUB_CMD_HEARTBEATtSUB_CMD_EVENT_STR(t handle_logint handle_logoutthandle_heartbeat(t packet_loggert PacketQueuecBs>eZdZd„Zd„Zdd„Zd„Zd„ZRS(s
Êý¾Ý°ü¶ÓÁÐcCs%g|_tjƒ|_t|_dS(N(tqueuet    threadingt    Conditiont    conditiontTruetrunning(tself((s$.\\EventServerPY\packet_processor.pyt__init__s    cCs7|j(|jj||fƒ|jjƒWdQXdS(s
·ÅÈëÊý¾Ý°üN(RRtappendtnotify(Rtcidtdata((s$.\\EventServerPY\packet_processor.pytputs
cCs›|jŒxNt|jƒdkrZ|jrZ|rJ|jj|ƒsWdSq |jjƒq W|jshdSt|jƒdkr|jjdƒSdSWdQXdS(s
»ñÈ¡Êý¾Ý°üiN(NN(NN(NN(RtlenRRtwaittNonetpop(Rttimeout((s$.\\EventServerPY\packet_processor.pytget#s
!    cCs*|jt|_|jjƒWdQXdS(sÍ£Ö¹¶ÓÁÐN(RtFalseRt
notify_all(R((s$.\\EventServerPY\packet_processor.pytstop5s
    cCs!|jt|jƒSWdQXdS(s »ñÈ¡¶ÓÁдóСN(RRR(R((s$.\\EventServerPY\packet_processor.pytsize;s
N(    t__name__t
__module__t__doc__RRR R#R&R'(((s$.\\EventServerPY\packet_processor.pyRs              tPacketProcessorcBsheZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z RS( s Êý¾Ý°ü´¦ÀíÆ÷cCs+||_tƒ|_d|_t|_dS(N(tfile_mgrRt packet_queueR tprocess_threadR$R(RR,((s$.\\EventServerPY\packet_processor.pyRDs         cCs|jj||ƒdS(sÌí¼ÓÊý¾Ý°üµ½¶ÓÁÐN(R-R(RRR((s$.\\EventServerPY\packet_processor.pyt
add_packetJscCsK|jr dSt|_tjd|jƒ|_t|j_|jjƒdS(s Æô¶¯´¦ÀíÏß³ÌNttarget(RRRtThreadt _process_loopR.tdaemontstart(R((s$.\\EventServerPY\packet_processor.pyR4Ns          cCsF|js dSt|_|jjƒ|jrB|jjddƒndS(s Í£Ö¹´¦ÀíÏß³ÌNR"i(RR$R-R&R.tjoin(R((s$.\\EventServerPY\packet_processor.pyR&Xs              cCs†x|jr|jjddƒ\}}|dks|dkrEqny|j||ƒWqtk
r}}dt|ƒGHqXqWdS(s´¦ÀíÑ­»·R"is*[PacketProcessor] Process packet error: %sN(RR-R#R t_process_packett    Exceptiontstr(RRRte((s$.\\EventServerPY\packet_processor.pyR2cs cCsqt|ƒdkrdSt|d ƒ}tj||ddƒ|jtkra|j|||ƒn d|jGHdS(s´¦Àíµ¥¸öÊý¾Ý°üiNtRAWtRECVs%[PacketProcessor] Unknown cmd: 0x%02X(RRRtlogtcmdRt_process_interface_packet(RRRthead((s$.\\EventServerPY\packet_processor.pyR6pscCs[|jtkrAt|ƒ}t||ƒtj||ddƒn|jtkr‚t|ƒ}t||ƒtj||ddƒnÕ|jt    krÃt
|ƒ}t ||ƒtj||ddƒn”|jt krt |ƒ}|j||ƒtj||ddƒnP|jtkrKt|ƒ}|j||ƒtj||ddƒn d|jGHdS(    s´¦ÀíInterfaceЭÒéÊý¾Ý°ütLOGINR;tLOGOUTt    HEARTBEATtEVENTt    EVENT_STRs2[PacketProcessor] Unknown interface subcmd: 0x%02XN(tsub_cmdRRR RR<RRR R
RRR    Rt_process_event_sendR Rt_process_event_str_send(RRR?Rtpacket((s$.\\EventServerPY\packet_processor.pyR>s*        cCs&|j}|jj|||jƒdS(s´¦Àíʼþ·¢ËͰüN(tevent_idR,t write_eventtsz_data(RRRHt
event_type((s$.\\EventServerPY\packet_processor.pyRFŸs    cCs&|j}|jj|||jƒdS(s´¦Àí×Ö·û´®Ê¼þ·¢ËͰüN(tsz_event_id_stringR,RJRK(RRRHRL((s$.\\EventServerPY\packet_processor.pyRG¥s    cCs |jjƒS(s »ñÈ¡¶ÓÁдóС(R-R'(R((s$.\\EventServerPY\packet_processor.pytget_queue_size«s( R(R)R*RR/R4R&R2R6R>RFRGRN(((s$.\\EventServerPY\packet_processor.pyR+As            
                          (((R*RtdatetimettimetprotocolRRRRRRRRRR    R
R tclients_managerR R RRRR+(((s$.\\EventServerPY\packet_processor.pyt<module>s   R,