[Book] ๊ฒ์ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ ๊ต๊ณผ์ - 3์ฅ ์์ผ ํ๋ก๊ทธ๋๋ฐ (2)
ยท
๐ Book/โ Game Server
3์ฅ ์์ผ ํ๋ก๊ทธ๋๋ฐ 6. ๋
ผ๋ธ๋ก ์์ผ ์ผ๋์ผ ๋คํธ์ํน ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋๋ ๋ธ๋กํน ์์ผ์ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค. ํ์ง๋ง ๋คํธ์ํน์ ํด์ผ ํ๋ ๋์์ด ์ฌ๋ฟ์ด๋ผ๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ๋คํํ ๋๋ถ๋ถ ์ด์์ฒด์ ์์๋ ์์ผ ํจ์๊ฐ ๋ธ๋กํน๋์ง ์๊ฒ ํ๋ API๋ฅผ ์ถ๊ฐ๋ก ์ ๊ณตํ๋ค. ์ด๋ฅผ ๋
ผ๋ธ๋ก ์์ผ์ด๋ผ ํ๋ค. ๋
ผ๋ธ๋ก ์์ผ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค. void NonBlockSocketOperation() { s = socket(TCP); ...; s.connect(...); // ๋
ผ๋ธ๋ก ์์ผ์ผ๋ก ๋ณ๊ฒฝ s.SetNonBlocking(true); while (true) { r = s.send(dest, data); if (r == EWOULDBLOCK) { // ๋ธ๋กํน ๊ฑธ๋ฆด ์ํฉ์ด์๋ค. ์ก์ ์ ์ ํ๋ค. continu..