More Related Content
Similar to Msrds game server
Similar to Msrds game server (20)
Msrds game server
- 12. (배타적 패킷핸들링) Class Collision { [Exclusive] Void Add() [Exclusive] Void Remove() [Concurrent] Void Update() }
- 21. DATAS(PacketGameLogin) String id String pass DATAE SERVICE_BEGIN(GAME,1) STATES(LOGIN) REQUEST(PacketGameLogin,PacketGameLogin_Ret) STATEE STATES(SELECT_CHAR) NOTIFY(PacketNewCharacter) NOTIFY(PacketDeleteCharacter) NOTIFY(PacketFieldLogin) STATEE SERVICE_END SERVICE_BEGIN(DB,2) STATES(LOGIN) REQUEST(PacketDBLogin,PacketDBLogin_Ret) STATEE SERVICE_END Class Game { public override IEnumerable PacketGameLogin (PacketGameLogin pgl ,PacketGameLogin_Ret pgl_ret) { PacketDBLogin pdl(pgl.id,pgl.pass) PacketDBLogin_Ret pdl_ret Yield return DB_Proxy.RequestPacketDBLogin(pdl,out pdl_ret); If( pdl_ret.error) { pgl_ret.error = 1; } Yield return pgl_ret; } }
- 22. 게임서버 개발 플랫폼 Class Game { public override IEnumerable PacketGameLogin (PacketGameLogin pgl ,PacketGameLogin_Ret pgl_ret) { PacketDBLogin pdl(pgl.id,pgl.pass) PacketDBLogin_Ret pdl_ret If( pdl_ret.error) { pgl_ret.error = 1; } // Yield return pgl_ret; } } Yield return DB_Proxy.RequestPacketDBLogin(pdl,out pdl_ret);
- 23. 게임서버 개발 플랫폼 Class Collision : Service { [Exclusive] Void Add() [Exclusive] Void Remove() [Concurrent] Void Update() [Concurrent] Void Find() } 최적화 시켜야할곳과 최적화 방법
- 27. microsoft parallel and concurrency library shared state concurrency => lock base, TPL message passing concurrency => CCR&DSS, AAL ,Axum ,TPL software transactional memory => SXM pure functional programming => F#