Notice
Recent Posts
Recent Comments
Link
관리 메뉴

λͺ©λ‘μ „체 κΈ€ (1103)

KoreanFoodie's Study

[C++ κ²Œμž„ μ„œλ²„] 5-2. PacketHandler

[C++ κ²Œμž„ μ„œλ²„] 5-2. PacketHandler 핡심 : 1. λ‹€μ–‘ν•œ νŒ¨ν‚·μ— λŒ€ν•œ 처리λ₯Ό λŒ€μ‘ν•˜κΈ° μœ„ν•΄μ„œ, νŒ¨ν‚·λ³„λ‘œ enum 을 λ§Œλ“€κ³ , 각 enum λ³„λ‘œ νŒ¨ν‚·μ„ ν•Έλ“€λ§ν•˜λŠ” ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄ μ£Όλ©΄ switch 문으둜 ν•œλ²ˆμ— μ²˜λ¦¬ν•  수 μžˆμ„ 것이닀. 2. κ°€λ³€ 데이터λ₯Ό λ„£λŠ” κ²½μš°λ„ Primitive Type 을 μ½λŠ” κ²½μš°μ™€ 거의 λΉ„μŠ·ν•˜λ‹€. λ²‘ν„°μ˜ ν¬κΈ°λ‚˜ 갯수 정보λ₯Ό λ„£μ–΄μ£ΌκΈ°λ§Œ ν•˜λ©΄ ν•΄κ²°λœλ‹€! 이전 μ‹œκ°„μ—λŠ” Buffer Helper 클래슀λ₯Ό λ§Œλ“€μ–΄ 버퍼λ₯Ό 쑰금 더 μš©μ΄ν•˜κ²Œ 읽고 μ“Έ 수 μžˆλ„λ‘ ν–ˆλ‹€. ν•˜μ§€λ§Œ 아직 λΆ€μ‘±ν•˜λ‹€! 일일히 μž„μ˜μ˜ κ°’μœΌλ‘œ λ²„νΌμ˜ λ‚΄μš©μ„ μ±„μ›Œ νŒ¨ν‚·μ„ μ‘°λ¦½ν•˜κ³  λΆ„ν•΄ν•˜λŠ” 것보닀, μ’€ 더 μ •ν˜•ν™”λœ ν˜•νƒœλ‘œ νŒ¨ν‚·μ„ μ£Όκ³  받을 수 μžˆλŠ” 것이 μ’‹λ‹€. κ·Έλž˜μ„œ 이번 κΈ€μ—μ„œλŠ” PacketHandler ..

Game Dev/Game Server 2023. 12. 15. 01:05
[C++ κ²Œμž„ μ„œλ²„] 4-10. PacketSession

[C++ κ²Œμž„ μ„œλ²„] 4-10. PacketSession 핡심 : 1. κ°„λ‹¨ν•˜κ²Œ νŒ¨ν‚·μ„ λ§Œλ“€μ–΄ 보자. 사싀 데이터에 size 와 id(ν”„λ‘œν† μ½œ) 을 ν—€λ”λ‘œ 뢙이면, 그게 기본적인 νŒ¨ν‚·μ˜ ν˜•νƒœλ‹€. 2. Session 을 μ œκ±°ν•˜κ³  넣을 λ•ŒλŠ” κΈ°μ‘΄ μ»¨ν…Œμ΄λ„ˆμ˜ 정합성이 깨지지 μ•Šλ„λ‘ μ£Όμ˜ν•˜μž. 이λ₯Ό νšŒν”Όν•˜κΈ° μœ„ν•΄ 클라가 μ’…λ£Œλ  λ•Œ, λ°”λ‘œ μ„Έμ…˜μ„ μ œκ±°ν•˜μ§€ μ•Šκ³ , λŒ€μ‹  Disconnect 이벀트λ₯Ό λ“±λ‘λ§Œ ν•œ λ‹€μŒ λ‹€λ₯Έ μ“°λ ˆλ“œκ°€ Dispatch 될 λ•Œ μ„Έμ…˜μ„ μ œκ±°ν•˜κ²Œ λ§Œλ“€ μˆ˜λ„ μžˆλ‹€. μ €λ²ˆκΉŒμ§€λŠ” 버퍼에 μš°λ¦¬κ°€ 보내렀고 ν•˜λŠ” λ¬Έμžμ—΄μ„ κ·Έλƒ₯ λ‹΄μ•„μ„œ λ³΄λƒˆλ‹€. 그런데 μ‹€μ œ κ²Œμž„μ—μ„œλŠ” 이 데이터가 무슨 데이터인지에 λŒ€ν•œ 정보가 ν•„μš”ν•œλ°, ν”νžˆ μš°λ¦¬λŠ” 이것을 νŒ¨ν‚·μ΄λΌκ³  ν•œλ‹€. 즉, ν•΄λ‹Ή 정보에 λŒ€ν•œ 메타 정보(ν”νžˆ 헀더 뢀뢄에..

Game Dev/Game Server 2023. 12. 14. 18:50