๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ”– ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํƒœ๊ทธ

๋ชจ๋“  ํƒœ๊ทธ ๋ณด๊ธฐ

Multi Racing Car - ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด ๋งŒ๋“œ๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ๊ฒŒ์ž„

Java ServerSocket๊ณผ WebSocket์„ ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•œ ์‹ค์‹œ๊ฐ„ 4์ธ ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„. RFC 6455 ํ‘œ์ค€์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ฉฐ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€์น˜๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ๋™์‹œ์„ฑ ์ œ์–ด์™€ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์›์น™์„ ์‹ค์ „์— ์ ์šฉํ•œ 3์ฃผ๊ฐ„์˜ ์—ฌ์ •

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์‚ด์•„๋‚จ๊ธฐ

Thread๋กœ ๋™์‹œ ์ ‘์†์„ ํ•ด๊ฒฐํ•˜๊ณ  Race Condition๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๊ทน๋ณตํ•œ ๊ณผ์ •. ํ•œ ๋ช…์”ฉ๋งŒ ์ฒ˜๋ฆฌ๋˜๋Š” ์„œ๋ฒ„ ๋ฌธ์ œ๋ฅผ Thread๋กœ ํ•ด๊ฒฐํ•˜๊ณ , ConcurrentHashMap์œผ๋กœ ๋™์‹œ์„ฑ ์ œ์–ด, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ํ•œ๊ณ„๋ฅผ ๋งˆ์ฃผํ•˜๋ฉฐ ๋ช…์‹œ์  ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์˜ ์ค‘์š”์„ฑ์„ ๋ฐฐ์šด ์—ฌ์ •