๋‚ด ์ธ์ƒ์—์„œ ๋ฏฟ์„ ๊ฑด ์˜ค์ง ๋‚˜ ์ž์‹ ๋ฟ!

The only one you can truly trust is yourself.

๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Double Buffered Circular Queue๋กœ ํŒจํ‚ท ์ฃผ๊ณ  ๋ฐ›๊ธฐ 1

๐ŸŽฎinspirer9 2021. 2. 3. 00:21
728x90
๋ฐ˜์‘ํ˜•

์™€...๋‚˜... ๊ฑฐ์˜ 8์‹œ๊ฐ„ ๋ถ™์žก๊ณ  ๊ฒจ์šฐ ๊ฒจ์šฐ ๋Œ€์ถฉ ๋Œ์•„๊ฐ€๋Š” ์ •๋„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ๋งŽ๋‹ค.

์ผ๋‹จ, ์ฒซ ๋ฒˆ ์งธ ๋ฌธ์ œ ๋ถ€ํ„ฐ..ใ… .ใ… 

 

  1. ์„œํ˜๋ผ ํ์˜ ๋‚จ์€ ๊ณต๊ฐ„์ด ๋ฐ›์„ ํŒจํ‚ท์˜ ์ตœ๋Œ€ ํฌ๊ธฐ ๋ณด๋‹ค ์ž‘์„ ๋•Œ...
    ์ด๊ฑฐ ๋”๋ธ” ๋ฒ„ํผ๋“œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๋ณต์‚ฌ๊ฐ€ 1๋ฒˆ๋งŒ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅธ ๋ฐ˜๋ฉด ๋ฉ”๋ชฐ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค.
    ๊ทธ๋ž˜์„œ ๊ฐ€๋”... ์•ž/๋’ค๊ฐ€ ์งค๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํ์˜ ๋‚จ์€ ๊ณต๊ฐ„์ด ํŒจํ‚ท์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๊ฐ€ ์•ˆ๋  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
    ๊ฒŒ๋‹ค๊ฐ€ ๋ฌธ์ œ ์ž์ฒด๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋„๋ก cํ ์ตœ๋Œ€ํฌ๊ธฐ๋Š” 200.
    ํŒจํ‚ท ์ตœ๋Œ€ํฌ๊ธฐ๋Š” 128๋กœ ๋˜์–ด ์žˆ๋‹ค.
    ์ด๋Ÿด ๋•Œ ์•ž์ชฝ์œผ๋กœ ๋•ก๊ฒจ์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ, ๊ทธ๋Ÿฌ๋ฉด ์†๋„์˜ ์ด์ ์ด ์‚ฌ๋ผ์ง„๋‹ค.
    ๊ทธ๋ž˜์„œ ์ž„๊ธฐ์‘๋ณ€์œผ๋กœ ํ ํด๋ฆฌ์–ด ํ•ด์ค„๋•Œ ํ—ค๋“œ/ํ…Œ์ผ ์ธ๋ฑ์Šค๋ฅผ 0/0์œผ๋กœ ๋ฐ”๊พธ์–ด์ฃผ์—ˆ๋‹ค.
    ์–ด์ฐจํ”ผ ์•ž๋ถ€๋ถ„ ๋ชป ์“ฐ๋Š”๊ฑฐ๋‹ˆ๊นŒ.
    ์š”๊ฑด ์งˆ๋ฌธ ์‚ฌํ•ญ์œผ๋กœ ๋‚จ๊ฒจ๋‘๊ณ 
  2. ํ์— ๋ฐ›์€ ํŒจํ‚ท์˜ ๋’ท๋ถ€๋ถ„์ด ์งค๋ ค์žˆ๋‹ค.
    ํ•ด๋ณด๋‹ˆ๊นŒ ์ด์ƒํ™ฉ์ด ์ œ์ผ ์‹ฌํ–ˆ๋Š”๋ฐ.
    ์ด๊ฑด ์ •๋ง๋กœ ํŒจํ‚ท์„ ์•ž์ชฝ์œผ๋กœ ์˜ฎ๊ฒจ์ฃผ์ง€ ์•Š์œผ๋ฉด ํž˜๋“  ์ƒํ™ฉ์ด ๋˜์–ด ๋ฒ„๋ ธ๋‹ค.
    ํ•ด๋ณด๋‹ˆ๊นŒ... ํŒจํ‚ท์ด 128์”ฉ ์˜ค๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ ...
    1, 10, 50, 128, 3, 3, 10, 20, 90 ์ด๋Ÿฐ์‹์œผ๋กœ ๋ณด๋‚ด๋‹ค ๋ณด๋ฉด,
    ๊ฒฐ๊ตญ ๋’ท๋ถ€๋ถ„ ์งค๋ ค์„œ,
    Check PacketSize()ํ•œ๊ฑฐ๋ณด๋‹ค ๋” ์ ์€ ๋Ÿ‰์„ ๋ฐ›์•„๋ฒ„๋ ค์„œ...
    ํ•˜์ง€๋งŒ ๋ฌผ๋ฆฌ์ ์ธ ๊ณต๊ฐ„์€ ๋‚จ์•„์žˆ์œผ๋‹ˆ๊นŒ,
    recv()๋ฅผ ๋ชจ์ž๋ž€ ๋Ÿ‰ ๋งŒํผ๋งŒ ํ•œ๋ฒˆ ๋” ํ•ด๋ณผ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.
    (TCP๋Š” ์–ด์ฐจํ”ผ ์ˆœ์„œ๋Œ€๋กœ...๋ผ๊ณ  ์•Œ๊ณ  ์žˆ์œผ๋‹ˆ...)
  3. ๊ฐ€๋” ์•Œ ์ˆ˜ ์—†๋Š” ์ธ๋ฑ์Šค๋กœ ๊ฐ€์žˆ๋‹ค.
    ์ด๊ฑด ๋‚ด๊ฐ€ ํ๋ฅผ OOP๊ฐœ๋…์œผ๋กœ ํด๋ž˜์Šค๋กœ ๋ฐ”๊พธ๋ฉด์„œ ์ƒ๊ธด ๋ฌธ์ œ ๊ฐ™๊ธฐ๋„ ํ•œ๋ฐ...
    C ํ•˜๋“œ์ฝ”๋”ฉ์—์„  ์ „ํ˜€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋˜ ๋ฌธ์ œ๋ผ...ใ… .ใ… 
    ์•”ํŠผ ์ด๊ฒƒ๋„ GetPacketSize()ํ–ˆ๋Š”๋ฐ, GetQueueSize()๋ณด๋‹ค ํฌ๋ฉด.
    ๊ทธ๋ƒฅ QueueClear() -_ -;

์ด๊ฒƒ์ด ๋Œ€๋ง์˜ ๋งˆ์ง€๋ง‰...ใ…‹
๋ฐ›์€ ํ ์‚ฌ์ด์ฆˆ๊ฐ€ 0์ด๋‹ค.
๋„ˆ... ์™œ๊ทธ๋ž˜?
๋‚˜ ์ฃฝ์ผ ์…ˆ์ด์•ผ...?!
์ž ๋„ ๋ชป ์ž๊ณ  ์ด๊ฒŒ ๋ญก๋‹ˆ๊นŒ... ์•„๋‚˜...

728x90
๋ฐ˜์‘ํ˜•