WPF SuperSocket ์งˆ๋ฌธ

์•ˆ๋…•ํ•˜์„ธ์š” WPF TCPํ†ต์‹ ์„ ํ†ตํ•ด์„œ ์žฅ๋น„์™€ ํ†ต์‹ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœ์ค‘์ž…๋‹ˆ๋‹ค.
SuperSocket์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์„ฑ ์ค‘์ธ๋ฐ ํ†ต์‹  ์žฅ๋น„ ์ค‘ ํ—ค๋”๊ฐ€ ์—†๋Š” ํ†ต์‹ (ASCII ํ†ต์‹ )์„ ํ•ด์•ผ๋ฉ๋‹ˆ๋‹ค. SuperSocket์— FixedHeaderFilter๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ํ—ค๋”๊ฐ€ ์—†์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๊ณ ์š”โ€ฆ (ํ—ค๋” ์‚ฌ์ด์ฆˆ๋ฅผ 0์œผ๋กœ ํ•ด๋„ ์•ˆ๋˜๋”๋ผ๊ณ ์š”โ€ฆ)
ํ˜น์‹œ๋‚˜ ํ—ค๋”๊ฐ€ ์—†๋Š”๊ฒฝ์šฐ SuperSocket์„ ์‚ฌ์šฉํ•ด์„œ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ• ์•„์‹œ๋Š”๋ถ„ ์žˆ์„๊นŒ์š”? ์˜ˆ์‹œ๋„ ์ฒจ๋ถ€ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ใ… โ€ฆ

์•ˆ๋…•ํ•˜์„ธ์š”, ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์จ๋ณธ ์ ์ด ์—†์–ด ์ž์„ธํ•˜๊ฒŒ ๋ง์”€์€ ๋ชป๋“œ๋ฆฌ๊ฒ ๋„ค์š”โ€ฆ

๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊นƒํ—ˆ๋ธŒ์—์„œ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์€ ์ •๋ณด (?) ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

๋จผ์ € FixedHeaderReceiveFilter๋ฅผ ์ฐพ์•„๋ดค๋Š”๋ฐ์š”, ์ฃผ์„์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

it is the Receive filter base for the protocol which define fixed length header and the header contains the request body length,
you can implement your own Receive filter for this kind protocol easily by inheriting this class

๋ฐ˜๋“œ์‹œ ํ—ค๋”๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋„ค์š”โ€ฆ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”.

SuperSocket/ProtoBase/ReceiveFilters/FixedHeaderReceiveFilter.cs at master ยท mdavid/SuperSocket ยท GitHub

๋Œ€์•ˆ์œผ๋กœ, terminator๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด, ๊ทธ๋ฆฌ๊ณ  ๋งค๋ฒˆ terminator๊ฐ€ ๊ฐ™๋‹ค๋ฉด TerminatorReceiveFilter๋กœ ๊ต์ฒดํ•ด๋ณด์‹œ๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค.

์ด ํด๋ž˜์Šค์˜ ์ฃผ์„์—๋Š” ๋‹ค์Œ ๋‚ด์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

The receive filter which is designed for the protocol whose messages must have a same terminator

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”.

SuperSocket/ProtoBase/ReceiveFilters/TerminatorReceiveFilter.cs at master ยท mdavid/SuperSocket ยท GitHub

1 Like

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜์‹ ๋‹ค๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€์•Š๊ณ  ์ง์ ‘ ๊ตฌํ˜„ํ•˜์‹œ๋‚˜์š”?
์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด ๊ณต์œ ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค (_ _)

1 Like

์˜ˆ ์ €๋Š” System.Net.Sockets ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณธ ๊ฒƒ์ด ์ „๋ถ€๋ผโ€ฆ ์ข‹์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค๋ฅธ ๋ถ„๋“ค๊ป˜์„œ ๋‹ต๋ณ€ ์ฃผ์‹ค ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹คโ€ฆ!!

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ใ…Žใ…Ž ์ด๊ฒƒ์ €๊ฒƒ ํ•ด๋ณด๋‹ค๊ฐ€ โ€˜IReceiveFilterโ€™ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž!

2 Likes