C++ใจใขใณใชใขใซใงๅถไฝใใMMORPGใฒใผใ ้็บใทใชใผใบ Part4๏ผใฒใผใ ใตใผใใผ
ใใใใฏใผใฏใใใซใในใฌใใใใชใใฌใผใใฃใณใฐใทในใใ ใชใฉใใณใขใจใชใๅฐ้็ฅ่ญใๅญฆใณใ ใฒใผใ ใตใผใใผใใผใญใใๆง็ฏใใชใใใMMORPGใฎๆ่กใๅญฆ็ฟใใ่ฌๅบงใงใใ ๆฐๅใฎใตใผใใผใใญใฐใฉใใผใ็ฅใฃใฆใใในใๅ จ่ฌ็ใช็ฅ่ญใ็ถฒ็พ ใใฆใใใใใ ใฉใฎใใญใธใงใฏใใซๅๆตใใฆใๆธๆใใใจใชใ้ฉๅฟใงใใๅบ็คๅใ่บซใซใคใใใใจใใงใใพใใ
ๅ่ฌ็ 2,413ๅ
้ฃๆๅบฆ ไธญ็ดไปฅไธ
ๅ่ฌๆ้ ็กๅถ้

- ๆช่งฃๆฑบ
์ฑ๋ฅ ํ ์คํธ ๊ฒฐ๊ณผ
SList๋ก ๊ตฌํํ ์ฝ๋์ Lock์ ๊ฑธ๋ฉฐ ํ์ pop push๋ฅผ ํ๋ ์ฝ๋์ ์คํ์๊ฐ์ ์ค๋ ๋์ ์์ ์ผ์ ๋ฐ๋ณต์(for๋ฌธ์ ๋ฐ๋ณตํ์)๋ฅผ ๋๋ ค์ ์๊ฐ์ ์ธก์ ํด๋ณด์๋๋ Lock์ ๊ฑธ์ด ์คํํ ์๊ฐ์ด ๋ ์งง๊ฒ ๋์ค๋๋ฐ ๋
๋คํธ์ํฌMMORPGwindows-serverkamdabin37855
ใป
7ๆฅๅ
0
44
2
- ่งฃๆฑบ
๊ฒ์ ์๋ฒ Stateful, Stateless ์ง๋ก ๊ณ ๋ฏผ
๋จผ์ ๊ฐ์ ์ฌ๋ฐ๊ฒ ๋ณด๊ณ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.์ด ๊ฐ์๋ฅผ ์ฌ๋ฉด์ ์ข์ํ๋ ๊ฒ์ ๊ฐ๋ฐ์ ์ํด ์ด๋ค ์ฅ๋ฅด๋ ๋ง๋ค ์ ์๋ ๋ฅ๋ ฅ์ ํค์ฐ๋๊ฒ ๋ชฉํ์์ต๋๋ค.๊ฐ์๋ฅผ ๊ณต
๋คํธ์ํฌMMORPGwindows-serverrhfnajfl09107
ใป
19ๆฅๅ
0
63
1
- ่งฃๆฑบ
WaitOnAddress์ Sleep์ ์ฐจ์ด ์ง๋ฌธ
Sleep()์ ํ์ฌ์ ํ์ ์ฌ๋ผ์ด์ค๋ฅผ ๋ชจ๋ ํฌ๊ธฐํ๊ณ ์ธ์๋ก ๋ค์ด์จ ๊ฐ ๋งํผ ์ค์ผ์ฅด๋ง์ ํฌ๊ธฐํ๋ ๊ฒ์ ๋ง์ง๋ง ์ฌ์ ํ 'Ready ์ํ'์ธ ๋ฐ๋ฉด WaitOnAddress()๋ ์์ 'Blocked ์ํ'๋ก ๋น ์ ธ ๋ฒ๋ ค์,
๋คํธ์ํฌMMORPGwindows-serverulfric0531
ใป
23ๆฅๅ
0
58
1
- ๆช่งฃๆฑบ
๊ถ๊ธํ๊ฑฐ ์์ต๋๋ค.
ClientSocket ์ฆ Session ์ ์์ผ์ CreateIoCompletionPort ๋ฅผ ์ด์ฉํ์ฌ ๋ฑ๋กํด์ฃผ์ด์ผ์ง๋ง IOCP ํ๋ก ๋ถํฐ ํต์ง๊ฐ ์ค์ง
๋คํธ์ํฌMMORPGwindows-serverpakheae12776
ใป
2ใถๆๅ
0
61
2
- ่งฃๆฑบ
JobTimer ๊ตฌ๋ ์ค๋ ๋
๋ชจ๋ ์ค๋ ๋๊ฐ distributeํ์ง ์๊ณ , ๋ฉ์ธ ์ค๋ ๋๋ง ๋ด๋นํ๊ฒ ํด์ฃผ๋ฉด ๋ฝ์ ์ก์ ํ์๋ ์์ง ์๋์?
๋คํธ์ํฌMMORPGwindows-serverjjun
ใป
3ใถๆๅ
0
90
2
- ๆช่งฃๆฑบ
TryPop() ๋์ ๊ด๋ จ ์ง๋ฌธ
0์ด ์๋ -countIncrease์ ๋น๊ตํ๋ ์ด์ ๊ฐ ๋ค๋ฅธ ์ฐ๋ ๋๋ค์ ์ํด internalCount๊ฐ ์ด๋ฏธ ์์๊ฐ ๋์ด์๋ ๊ฒฝ์ฐ countIncrease์ ์ฆ๊ฐ๋ก ์ธํด ์ ํํ 0์ด ๋๋ ์ํฉ์ผ๋, ์ญ์
๋คํธ์ํฌMMORPGwindows-serverneonlab
ใป
3ใถๆๅ
0
66
1
- ๆช่งฃๆฑบ
๋ก๋๋งต C#์๋ฒ C++์๋ฒ ๋ฐฉํฅ์ฑ ์ง๋ฌธ
์๋ ํ์ธ์ ๊ฐ์ฌ๋ C++ IOCP๊ฐ์ ์ ๋ง ๊ฐํํ๋ฉด์ ์ ๋ค์์ต๋๋ค. ( ๋์๊น์ง 50๋ฒ์ ํ๊ฑฐ๊ฐ๋ค์ ) ์์ง์ ๊ฐ์ ์ ๊ณตํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.ํ์ฌ ์ ๋ ๋ํ๊ต 3ํ๋ ๋ณตํ ์ค๋น์ค์ด๊ณ , ์กธ์ ์
๋คํธ์ํฌMMORPGwindows-serverjjun
ใป
3ใถๆๅ
0
119
2
- ๆช่งฃๆฑบ
์ค๋ ๋ id๋ฅผ ์ถ๋ ฅํ ๋ ๋ฉ์ธ์ค๋ ๋ id๋ ์ถ๋ ฅ๋๋์?
๋ฉ์ธ์ค๋ ๋๊ฐ 1๋ฒ์ ๋จน๋๊ฒ๊น์ง๋ ์ดํดํ๋๋ฐ ๊ทธ ์ดํ์ ์๋ 1๋ถํฐ 6๊น์ง ์ ๋ถ ์ถ๋ ฅ๋๋๊ฒ์ด ๋ง๋์? ๋ฃจํค์ค๋ ํ๋ฉด์์๋ 2์์ 6๊น์ง๋ง ์ถ๋ ฅ์ด ๋๋๊ฑธ๋ก ๋ณด์ฌ์ ์ง๋ฌธ๋๋ฆฝ๋๋ค <
๋คํธ์ํฌMMORPGwindows-serverkamdabin37855
ใป
3ใถๆๅ
0
56
1
- ๆช่งฃๆฑบ
์๋ช ์ฃผ๊ธฐ๋ฅผ ์ํ ์๋์ ๋ณต์ฌ
์๋ ํ์ธ์ ๊ฐ์ ์ ๋ง ๊ฐํํ๋ฉด์ ์ ์๊ฐํ๊ณ ์์ต๋๋ค. Job์์ ๋ณดํธ์ฐธ์กฐ๋ก ๋ฐ์๋๋ฐ forward๋ก ํ์ง ์์ ๊ฒ์ Ref๋ค์ ์๋ช ์ฐ์ฅ์ ํด์ฃผ๊ธฐ ์ํด ์๋์ ์ผ๋ก ๋ณต์ฌํ๊ธฐ ์ํ ์๋์ผ๊น์?J
๋คํธ์ํฌMMORPGwindows-serverjjun
ใป
3ใถๆๅ
0
66
2
- ๆช่งฃๆฑบ
๋ฝํ๋ฆฌ์ ์ค๋ฌด์์ ์ฌ์ฉ ์ง๋ฌธ
๋ฝํ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ง์๋๋ค๊ณ ํ์ จ๋๋ฐ ๋ฝํ๋ฆฌ๋ฅผ ์จ์ผ ์๋ฒ์ ์ฑ๋ฅ์ด ์ ๋๋ก ๋์ค๋๊ฒ ์๋๊ฐ์? ์คํ๋ ค ๋๋ฌด ์ด๋ ค์์ ์ ๋๋ก ๋ง๋ ๊ฒ์ด ์๋๋ผ๋ฉด ์๋ฒ๊ฐ ์ฃฝ๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ ์ ์๊ธฐ๋๋ฌธ์ ์์ฐ๋ ๊ฑด๊ฐ์?<p style="
๋คํธ์ํฌMMORPGwindows-serverkamdabin37855
ใป
4ใถๆๅ
0
114
2
- ๆช่งฃๆฑบ
32bit threadID์ 16๋นํธ ์์ WriteFlag์ ๋ํด
32๋นํธ์ง๋ฆฌ threadID๋ฅผ ๋นํธ ์ฐ์ฐ์ผ๋ก 16๋นํธ ์ฎ๊ฒจ์ค๋ค ์งค๋ผ์ค ๊ฒ์ WriteFlag์ ๋ด๋ ๊ณผ์ ์์ ์์ค์ด ์ผ์ด๋๋๊ฑฐ ์๋๊ฐ์?<img src="https://cdn.inflearn.com/public/
๋คํธ์ํฌMMORPGwindows-serverjjun
ใป
4ใถๆๅ
0
84
2
- ่งฃๆฑบ
mutex์ sleep ์ฐจ์ด์
mutex๋ ์ปค๋๋ก sleep๊ฐ ๋๋๊ฑธ๋ก ์๊ณ ์๋๋ฐ ์คํ๋ฝ์ ๊ตฌํํ๋ฉด์ sleep๋ฅผ ๊ฐ์ด ๊ตฌํํ๋๊ฒ๊ณผ mutex๋ฅผ ์ฌ์ฉํ๋๊ฒ์ ์ฐจ์ด๊ฐ ๊ถ๊ธํฉ๋๋ค
๋คํธ์ํฌMMORPGwindows-serverkamdabin37855
ใป
5ใถๆๅ
0
96
1
- ๆช่งฃๆฑบ
์ค๋ฌด์์๋ ์ด๋ ํ ์ฝ๋ ์คํ์ผ์ ์ฌ์ฉํ๋์ง ๊ถ๊ธํฉ๋๋ค
๋ฌผ๋ก ํ์ฌ๋ง๋ค ๋ค๋ฅด๊ณ ๊ฐ ํ์ฌ์ ๊ธฐ์กด ์คํ์ผ์ ๋ฐ๋ผ์ผ ํ๋๊ฒ ๋ง์ง๋ง ๋ ํํ๋ ์ ์ฅ์์๋ clang-format์ด ์ ๊ณตํด์ฃผ๋ ํํธ๋ค, ๊ตฌ๊ธ ์คํ์ผ ๊ฐ์ด๋ ํน์ ์ธํฐ
๋คํธ์ํฌMMORPGwindows-servergyeoul
ใป
5ใถๆๅ
0
133
2
- ๆช่งฃๆฑบ
Stomp Allocator์ Releaseํจ์์ ๋ํ ์ง๋ฌธ์ ๋๋ค.
์๋ค ๋ค์ด์, ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ 0x1000~0x3000์ด๊ณ , ์ค์ ์ฌ์ฉํ๋ ค๋ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ 0x2008๋ก ๋ฐํ๋ฐ์๋ค๊ณ ๊ฐ์ ํ ๋,const int64 add
๋คํธ์ํฌMMORPGwindows-serverasm11333756
ใป
6ใถๆๅ
0
86
1
- ๆช่งฃๆฑบ
๊ณต๋ถ๋ฒ ๊ด๋ จํด์
๋ฃจํค์ค๋ ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค. ์๋ฒ ๊ฐ์ ์ฌ๋ฐ๊ฒ ๋ฃ๊ณ ์๋๋ฐ ์ ๊ฐ ๊ณต๋ถ ํ๋ ๋ฐฉ๋ฒ์ด ์๊ฐ์ด ๋ง์ด ๋๋๋ฐ ์๊ฐ์ ๋ง์ด ์ฐ๋ ๊ฑฐ์ ๋นํด ํ์ต์ ํฌ๊ฒ ๋์์ด ๋๋ ๊ฒ ๊ฐ์ง ์์์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.์ ๋ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋ณต
๋คํธ์ํฌMMORPGwindows-serverlayer08
ใป
6ใถๆๅ
0
164
2
- ๆช่งฃๆฑบ
MakeShared ํจ์ ๊ด๋ จ
52๊ฐ ServerService ์๊ฐ ์ค 13:54 ๋์ MakeSharedํจ์๋ฅผ ์ด์ฉํด์ shared_ptr์ ์์ฑํด์ฃผ๋ ๋ถ๋ถ์ด ์๋๋ฐ, ๋๊ฐ์ด ๋ฐ๋ผํ๋ ์ค ์ ํ๋ก์ ํธ์์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.<p st
๋คํธ์ํฌMMORPGwindows-serverไฝๆ่ ใชใ
ใป
7ใถๆๅ
0
96
1
- ๆช่งฃๆฑบ
์ง๊ธ๊น์ง ์๋ฒ์ฝ์ด์์ ๋ง๋ ๋ด์ฉ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ด์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์ง๊ธ๊น์ง ๊ฐ๋ฐํ ์๋ฒ์ฝ์ด๋ IOCP๊ธฐ๋ฐ์ ๋น๋๊ธฐ ๋ ผ๋ธ๋กํน ๋ฐฉ์์ด๋ผ ์๊ฐ๋จ๋๋ค.Send์์๋ SendBuffer๋ฅผ sendEvent์ ๋ฑ๋กํ ๋ค์ Scatter-Gather๋ก ๋ชจ์์ ::WSASend๋ก ์ก์ ์ ์ํํ๋ ๊ฒ
๋คํธ์ํฌMMORPGwindows-serverkimkitek8171346
ใป
7ใถๆๅ
0
128
2
- ๆช่งฃๆฑบ
์ด์์ฒด์ ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค
์ด์์ฒด์ ๋ ๊ฐ์ด ๊ณต๋ถ๋ฅผ ํ๊ณ ์ถ์ด ์์ ๊ณต๋ฃก์ฑ ์ด๋ผ๋ ์ด์์ฒด์ ์ฑ ์ ์ฌ์ ๊ณต๋ถ๋ฅผ ํ๊ณ ์์ต๋๋ค ์ด์์ฒด์ ๋ฅผ ์ฒ์๋ถํฐ ๋ง๋ค์ด๋ณด๋ ์ค์ต ์ฑ ๋ค์ ๋ฐ๋ผํด๋ณด๋ฉด ์ด๋ผ๊ณ ํ์ จ
๋คํธ์ํฌMMORPGwindows-serverkamdabin37855
ใป
7ใถๆๅ
0
113
1
- ๆช่งฃๆฑบ
sendํ๋ ค๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ํฌ๋ฉด memcpy์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
<img src="https://cdn.inflearn.com/public/files/posts/60f5794c-0d84-4cdb-8059-48fcb8cab2ee/9fee544a-5b56-4b0e-aa1c-589faab2c282.png" media-type="img"
๋คํธ์ํฌMMORPGwindows-serverdodontak
ใป
7ใถๆๅ
0
104
2
- ๆช่งฃๆฑบ
๋ฉ๋ชจ๋ฆฌ ํ ์ง๋ฌธ์์ต๋๋ค.
์ฐ์ ์ข์๊ฐ์ ๋ง๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.์ ๊ฐ ์ง๋ฌธ๋๋ฆด๊ฑด ๋ฉ๋ชจ๋ฆฌํ์ 1024๊น์ง๋ 32๋ฐ์ดํธ๋จ์๋ก ๋ง๋๋๋ฐ, ๊ทธ๋ฌ๋ฉด 32๋ฐ์ดํธ์ ์ฉ ํ 64๋ฐ์ดํธ ์ ์ฉ ํ ์ด๋ ๊ฒ ๋ง
๋คํธ์ํฌMMORPGwindows-serverpnj9911227332
ใป
8ใถๆๅ
0
108
1

