Windows ์์ผ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ์์ ๊ณ ์ฑ๋ฅ ์๋ฒ๊น์ง!
์ด ๊ฐ์๋ฅผ ํตํด ์์ฉ ํ๋ก๊ทธ๋จ ์์ค ํ๋กํ ์ฝ ์ค๊ณ ๊ธฐ๋ฒ๊ณผ IOCP๊ธฐ๋ฐ ๊ณ ์ฑ๋ฅ ์๋ฒ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค!
์๊ฐ์ 1,555๋ช
๋์ด๋ ์ค๊ธ์ด์
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ํด๊ฒฐ
recv, send ๋ฆฌํด๊ฐ ์ง๋ฌธ
์๋ ํ์ธ์ ๊ฐ์ฌ๋ send, recvํจ์ ์ง๋ฌธ ์์ต๋๋ค. send, recv์ ๋ฐํ ๊ฐ์ด ์ธ์๋ก ๋ณด๋ธ sendํน์ recvํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ํญ์ ๋๊ฐ์ง ์์ ๊ฒ์ ๋ค๋ฅธ ๋ถ์ด ๋จ๊ธด ์ง๋ฌธ์ ๋ณด๊ณ ์ด๋ฏธ
socket.ioudpiocptcpip๋ฐ์ฒ ์ค
ใป
5๋ฌ ์
0
81
2
- ํด๊ฒฐ
์คํ,์ํฌ์ ๊ฐ์ ๋์ค์ฐฝ (Disconnected)๋ ๋น์ ์ ์ข ๋ฃ์ ๋์ํ๋ ์์คํ ์ผ๋ก ๋ด์ผํ ๊น์?
-์ฐ์ํ์ง ์๋ ๋น์ ์ ์ข ๋ฃ๋ฅผ ๋ณด๊ณ ...๋๋ฝ์ ๋ฃ๊ณ ์๊ฐ๋ฌ๋ ๊ฒ์ด ์ํฌ3์ ์คํํฌ๋ํํธ์ ๋์ค(Disconnected)๊ฐ ์๊ฐ์ด ๋ฌ์ต๋๋ค. ์ฐ๊ฒฐ์ด ๋ถ์
socket.ioudpiocptcpip๋ฌด๋ฌด
ใป
9๋ฌ ์
0
99
2
- ํด๊ฒฐ
์์ ๊ณผ ๊ด๋ จํด์ ์ฝ์ด๋ณผ ๋งํ ์ฑ ์๋์?
๋ด์ฉ์ ์์
socket.ioudpiocptcpiplsw4uto
ใป
์ผ ๋ ์
0
114
1
- ํด๊ฒฐ
์๋ฒ๊ฐ ๋์ด๋ฒ๋ฆฌ๋๊ฒ์ ๋ํ ์ง๋ฌธ
11:00 ์ ํด๋ผ๊ฐ ๋๋ฐฐ๋ฅผ ํ๋ฉด ์๋ฒ์์ ๋์ด๋ฒ๋ฆฐ๋ค๋ ๋ด์ฉ์ด ์์ด์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค. ์๋ฒ์์ ๋จผ์ ๋์ผ๋ฉด ์๋๋ค๊ณ ํ์ จ๋๋ฐ,</
socket.ioudpiocptcpipSungwon Jung
ใป
0
123
2
- ํด๊ฒฐ
TCP ์๋์ ์ฅ์ ํ ์คํธ ์ง๋ฌธ
<img src="https://cdn.inflearn.com/public/files/posts/2289692d-e773-4a0f-a3a7-a868596e4bfd/806e2322-2799-47db-baad-120029e3dc7e.png" medi
tcpipJjaengE
ใป
0
160
2
- ํด๊ฒฐ
shutdown()์ ํธ์ถํ๋ ์ด์
ํด๋ผ์ด์ธํธ์์ showdown()์ ํธ์ถํ ๋์ฐ๊ฒฐ ์ข ๋ฃ 4 way handshake๊ฐ ๋ฐ์ํ๋๊ฒ์์์ด์ด์คํฌ๋ฅผ ํตํด์ ํ์ธํ์์ต๋๋ค. shutdown()์ ํธ์ถํ์ง ์๊ณ closesocket()์ผ๋ก
socket.ioudpiocptcpiprandom123
ใป
0
165
1
- ํด๊ฒฐ
ํ๋กํ ์ฝ์ด ์ ์ฉ๋ ํ์ผ ์ก์ ์๋ฒ์์ send, recv ์ง๋ฌธ ์์ต๋๋ค!
์๋ ํ์ธ์ ๋๋ํ ๊ฐ๋ฐ์๋! ์ธ์ ๋ ๊ฐ์ ์๋ณด๊ณ ์์ต๋๋ค.์์ ์์ค ์ฝ๋ ๋ณด๊ณ ์๋๋ฐ ์๋ฌธ์ด ์๊ฒจ์ ์ด๋ ๊ฒ ์ง๋ฌธ๋๋ฆฝ๋๋ค.์ด์ ๊ฐ์์์ recv์ send๋ 1:1๋ก ๋งค์นญ๋์ง ์๋๋ค๋ผ๊ณ ํ์ จ์๋๋ฐ ํ๋กํ ์ฝ์ด ์ ์ฉ๋ ํ์ผ ์ก์ ์๋ฒ ์
socket.ioudpiocptcpipHMiso
ใป
0
153
2
- ํด๊ฒฐ
"ํ์ผ ์ก์ ์๋ฒ ์ ์" ๊ฐ์ ์ง๋ฌธ์ ๋๋ค!
์๋ ํ์ธ์!ํ์ผ ์ก์ ์๋ฒ ์ ์ ๊ฐ์ ๋ถ๋ถ์ค์ ๊ถ๊ธํ ๊ฒ์ด ์๊ฒจ ์ง๋ฌธ๋๋ฆฝ๋๋ค. "ํ์ผ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ํฐ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์ฌ๋ฆฌ๋ ๊ฒ์ด ๋ ์ฑ๋ฅ์ ์ผ๋ก ์ข์์ง ์ ์๋ค." ๋ผ๊ณ ํ์ จ๋๋ฐ, ๊ทธ ์ด์ ๊ฐ ๋ฌด์์ธ์ง ๊ตฌ์ฒด์ ์ผ๋ก ์
socket.ioudpiocptcpipbknote71
ใป
0
154
2
- ํด๊ฒฐ
๋ํ์ ์ธ ์ฅ์ ์ ํ 2
์๋ ํ์ธ์ ๊ฐ๋ฐ์๋ ์์ ์ธก ์์ ์ก์ ์ธก์ผ๋ก ์์ ๋ฐ๋ ๋ฐ ํจํท ์ ์ค์ ๋ํ ์๋ต์์ก์ ์ธก์ผ๋ก ์ ๋ฌ ํ๋ฉด, ์ก์ ์ธก์์ ์ฌ์ ์ก์ ์๋ ํ๋๋ฐ,์ก์ ์ธก์์๋ ์์ ์ธก์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ก ํ ๋, ์ฌ์ ์ก ์์ฒญ์
socket.ioudpiocptcpipotteu1m
ใป
0
134
2
- ํด๊ฒฐ
๋ํ์ ์ธ TCP ์ฅ์ ์ ํ
์๋ ํ์ธ์ ๊ฐ๋ฐ์๋ ๊ฐ์ ๋๋ฌด ์ ๋ค๊ณ ์์ต๋๋ค. ์์ธํ ๋ต๋ณ ๋ถํ๋๋ฆฝ๋๋ค.์์ด์ด ์คํฌ๋ฅผ ํจํด ๋ํ์ ์ธ TCP ์ฅ์ ์ ํ ์ ๋ค ์บก์ฒํ๋ ์์ ๊น์ง ์งํ ํ์ต๋๋ค. ์ฌ๊ธฐ์
socket.ioudpiocptcpipotteu1m
ใป
0
161
2
- ํด๊ฒฐ
๊ฐ์์ ๊ด๋ จ์ด ์ ์ Window ์ง๋ฌธ์ ๋๋ ค๋..๊ด์ฐฎ์๊น์?
blender ์ฑ์ ๋๋ฒ๊ฑฐ๋ก ๋ณด๋ฉด์ ์คํ์ํค๊ณ ์ถ์ด์, ๋น๋๋ฅผ ํ๋๋ฐ์.'์์ฉ ํ๋ก๊ทธ๋จ์ side-by-size ๊ตฌ์ฑ์ด ์๋ชป๋์ด ์์ฉํ๋ก๊ทธ๋จ์ ์์ํ์ง ๋ชปํ์ต๋๋ค.' ๋ผ๊ณ ํ๋ฉด์ sxstrace.exe๋ฅผ ์ฐ์ด๋ณด๋ผ๊ณ ํ๊ธธ๋ ์ฐ์ด๋ณด์์ต๋๋ค.M
gacmanifestwindowwindowsdllDorasima
ใป
0
115
1
- ํด๊ฒฐ
์ด๋ฒคํธ ๊ธฐ๋ฐ ํ์ผ ์ ์ถ๋ ฅ๊ณผ callback ๊ธฐ๋ฐ ํ์ผ ์ ์ถ๋ ฅ์ด ๋คํธ์ํฌ์๋ ์ฐ์ด๋ ๊ธฐ๋ฒ์ธ๊ฐ์?
์๋ ํ์ธ์.์ด๋ฒคํธ ๊ธฐ๋ฐ ํ์ผ ์ ์ถ๋ ฅ๊ณผ callback ๊ธฐ๋ฐ ํ์ผ ์ ์ถ๋ ฅ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ด ์ง๋ฌธ ๋๋ฆฝ๋๋ค.IOCP๋ฅผ ์ค๋ช ํ์๊ธฐ ์ ๋จ๊ณ์์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํ์ผ ์ ์ถ๋ ฅ๊ณผ callback ๊ธฐ๋ฐ ํ์ผ ์ ์ถ๋ ฅ์ ๋ํด ์ค๋ช ์ ํด์ฃผ์ จ๋๋ฐ, ์ด ๋ ๊ธฐ๋ฒ์ ๋คํธ
socket.ioudpiocptcpipTMI_JUNG
ใป
0
121
2
- ํด๊ฒฐ
๊ฐ๋ฐํ๊ฒฝ ์ง๋ฌธ์ด ์์ต๋๋ค.
์ฅ์ ๋ฐ์ ๊ด๋ จํด์ PC 2๋๊ฐ ์๋๊ฒ ์ข๋ค๊ณ ํ์ จ๋๋ฐ ํน์ ๊ฐ์๋จธ์ ์ผ๋ก๋ ๊ด์ฐฎ์๊น์
socket.ioudpiocptcpip๊ตฌ๋ณ์ฃผ
ใป
0
140
1
- ํด๊ฒฐ
TCP/IP vs UDP , ๋ฉํฐ ์ค๋ ๋์์์ ๋ณ๋ชฉ ํ์์ ๋ํ ์ง๋ฌธ์ด ์์ต๋๋ค!
์๋ ํ์ธ์! ํญ์ ์ข์ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค.๊ฐ์๋ฅผ ๋ฃ๋ค๊ฐ ๊ถ๊ธํ ์ ์ด ์์ด์ ์ง๋ฌธ์ ๋๋ฆฝ๋๋ค!Q1.TCP/IP ์ ๊ฒฝ์ฐ ์๋ฒ ์ ์ฅ์์ ์ฌ์ฉ์๊ฐ ์ฐ๊ฒฐ๋์ด ์๋ค๋ ์ฐฉ๊ฐ์ ๋น ์ง์ง ๋ง๋ผ๊ณ ์๋ ค์ฃผ์ จ์ต๋๋ค. ํํธ๋นํธ๋ฅผ ์ด์ฐจํผ ๋ณด๋ด์ค ๊ฒ์ด๋ผ๋ฉด
socket.ioudpiocptcpip์์ฑ์ ์์
ใป
0
222
2
- ํด๊ฒฐ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ๋ฌธ์ ๋ก ์ง๋ฌธ๋๋ฆฝ๋๋ค.
IOCP ์๋ฒ๋ฅผ ํด๋์ค๋ก ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํ๊ณ ์์ต๋๋ค.Thread ์์ฑ๊น์ง ์ค๋ฅ ์์ด ๋๋ค๊ฐ Client๊ฐ ์ ์๋๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.๋๋ฒ๊น ๊ฒฐ๊ณผ client_list๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ๋์์ผ๋ฉฐ clientSocket์ด ์ ์์ ์ผ๋ก ๋์ฐฉํ ์
socket.ioudpiocptcpip๋ฐ์ฃผํ
ใป
0
189
2
- ํด๊ฒฐ
์ก์ ํจํท ํฌ๊ธฐ ๊ด๋ จํด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค!
ํด๋ผ์ด์ธํธ์์ ์ก์ ๊ด๋ จํด์ ๋ฌถ์ด์ ๋ณด๋ด๋ ์ฝ๋๋ฅผ ์ค๋ช ํ์ค ๋ ์๋ฒ ์ฝ๋์์๋ ์ด๋ ๊ฒ ํ๋ ๊ฒ ์ข๋ค๊ณ ํ์ จ๋๋ฐ ์์ธํ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค!MSS ํ๋์์ ์ต๋ํ ํจํท์ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ์ก์์ผ NODELAY ์ต์ ์ ์ฐ์ง ์๊ณ ๋ ํจํท์ด ์ ์ก ์ง์ฐ์ ์ต์ํํ ์
sendrecvsocketliterate_t
ใป
0
176
2
- ํด๊ฒฐ
ํ ์คํธ ํ๊ฒฝ ์ง๋ฌธ๋๋ฆฝ๋๋ค!
์๋ ํ์ธ์!์ํํธ์ ๊ฑฐ์ฃผํ๊ณ ์์ต๋๋ค.์ ํฌ ์ธ๋๋ก ๋ค์ด์ค๋ ๋คํธ์ํฌ ์ ํธ๋ฅผ ๋ด๋นํ๋ ๊ธฐ๊ธฐ๊ฐ ์ ๋ฐ์ฅ ์์ชฝ์ ์๊ณ ๊ต์ฅํ ์ฌ๋ฌ ์ผ์ด๋ธ์ด ๊ฝํ ์์ต๋๋ค. ๊ฐ๋์ฉ ์ง ์ปดํจํฐ ์ธํฐ๋ท์ด ์ ๋ ๋๊ฐ ์๋๋ฐ ๊ทธ ๊ธฐ๊ธฐ๋ฅผ ๋ฆฌ๋ถํ ํ๊ณค ํฉ๋๋ค.&
socket.ioudpiocptcpipliterate_t
ใป
0
170
2
- ํด๊ฒฐ
ThreadAcceptLoop ์ ์ฐ์ํ(?) ์ข ๋ฃ์ ๋ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ญ๋๊น, TCP/IP, IOCP ๊ฐ๋ ์ ๋ฐฐ์ฐ๋๋ฐ ๊ฐ์ฌ๋์ ๊ฐ์๊ฐ ํฐ ๋์์ด ๋์์ต๋๋ค. ๋ค๋ฆ์ด ์๋๋ผ, IOCP ์ฝ๋๋ฅผ C++ Class ๋ก ์์ฑ์ค์ ์๋ฉธ์์์ ๋ฆฌ์์ค๋ค์ ํด์ ํ๋ ค๊ณ ์์ฑ ์ค์ ์๋๋ฐ ThreadAcceptLoop ์ค๋ ๋๋ฅผ ์ฐ์
socket.ioudpiocptcpipRYLYNN
ใป
0
420
2
- ํด๊ฒฐ
ํํธ๋นํธ ์ ์๋ฒ์์์ ์ฐ๊ฒฐ ์ข ๋ฃ
์๋ ํ์ธ์ ์ข์ ๊ฐ์๊ฐ์ฌํฉ๋๋ค.์์ผ์ฐ๊ฒฐ ์ข ๋ฃ ์ ํด๋ผ์ด์ธํธ๊ฐ ๋จผ์ ๋๊ฒ ์ ๋ํ๋ผ๊ณ ํ์ จ๋๋ฐ๋ง์ฝ ์๋ฒ์์ ์ฃผ๊ธฐ์ ์ผ๋ก N์ด๋ง๋ค ํํธ๋นํธ๋ฅผ ๋ณด๋ด๊ณ ํด๋ผ์ด์ธํธ์์ ์๋ต์ด ์์ ๊ฒฝ์ฐ ์๋ฒ์์ ์ฐ๊ฒฐ์ ์ข ๋ฃํด์ผ ํ์ง ์๋์??? ํน์ ์ด ์
udpiocp์ด์น์ฐ
ใป
0
453
2
- ํด๊ฒฐ
๊ฐ์ฌ๋ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์ ๊ณตํด์ฃผ์ ๋ฉํฐ์ค๋ ๋ ์์ผ ํ๋ก๊ทธ๋จ์ LPVOID ํ์ ๊ฐ์ง๋ ๋งค๊ฐ๋ณ์์ ์ผ๋ฐ ๋ณ์๋ฅผ ์ง์ ํ์ จ๋๋ฐ LPVOID ๋ ํฌ์ธํฐ์ ์ผ๋ฐ๋ณ์ ๋ชจ๋ ๊ฐ๋ฅ ํ ๊ฑด์ง์?์ฃผ์ ํ๋ก๊ทธ๋จ์ ๋ณด๋ฉด
socket.ioudpiocptcpip๋ด์ผ์ ํ๊ฑธ์ ๋ ๋์๊ฐ๊ฑฐ์ผ
ใป
0
252
1






