๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ›  Node.js web development

์›น๊ฐœ๋ฐœ - 12 socket.io ์‚ฌ์šฉ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

by hanwitjus 2021. 11. 22.

์ฑ„ํŒ… ๊ธฐ๋Šฅ์„ ๋์œผ๋กœ ์ด ์ฑ…์„ ํ†ตํ•ด์„œ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ๊ฑฐ์˜ ๋‹ค ์ถ”๊ฐ€ํ–ˆ๋‹ค.

(API ๋ณด์•ˆ ๋ถ€๋ถ„์€ ๋ญ” ์†Œ๋ฆฐ์ง€ ๋ชจ๋ฅด๊ฒ ๊ณ  ๊ตณ์ด ํ•„์š”ํ•œ๊ฐ€ ์‹ถ์–ด ํŒจ์Šค)

 

์ผ๋‹จ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋˜ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

 

์ €๋ฒˆ์ฃผ ๋ชฉ์š”์ผ(11์›” 18์ผ) ๋ถ€ํ„ฐ ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ์˜ค๋Š˜(22์ผ ์›”์š”์ผ) ๋๋งˆ์ณค๋‹ค.

์‚ฌ์‹ค ์ œ๋Œ€๋กœ ๋๋งˆ์นœ ๊ฒƒ๋„ ์•„๋‹˜ ์•„์ง๋„ ์˜ค๋ฅ˜ ๋งŽ์Œ..

 

 

์•”ํŠผ ์ผ๋‹จ ๊ฒฐ๊ณผ ํ™”๋ฉด์€ ์ด๋ ‡๋‹ค. 

 

์™ผ์ชฝ์€ ์†œ์†œ๊ณ„์ • ๋กœ๊ทธ์ธ์ด๊ณ  ์˜ค๋ฅธ์ชฝ์€ ํ™ฉํ•„๋ฆฝ ๋กœ๊ทธ์ธ์„ ํ–ˆ์„ ๋•Œ์ด๋‹ค. 

๋กœ๊ทธ์ธ ํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ currentUser๋กœ ๊ฐ€์ ธ์™€์„œ ๋น„๊ตํ•ด์„œ ์Šคํƒ€์ผ์„ ์ถ”๊ฐ€ํ•ด ์ž๊ธฐ๊ฐ€ ๋ณด๋‚ธ๊ฑด ํ•‘ํฌ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜๊ฒŒ ํ–ˆ๋‹ค.

 

 

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์œ„์— ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์—†์• ๊ณ  ๋ฉ”์‹œ์ง€ ์•„์ด์ฝ˜์„ ๋„ฃ๊ณ  ์ „์ฒด ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๊ฒŒ ํ–ˆ๋‹ค.

 

 

์ฝ”๋“œ๋„ ๋‹ค ์บก์ณํ•ด์„œ ๋„ฃ์–ด์•ผ ๋˜๋Š”๋ฐ ์ข€ ๊ท€์ฐฎ๋‹ค..... 

๊ทธ๋ž˜๋„ ๊ทธ๋ƒฅ ๊ธฐ๋ก์„ ์œ„ํ•ด ๋Œ€๊ฐ• ์„ค๋ช…ํ•ด๋ณด์ž๋ฉด

 

chatController.js

 

์ปจํŠธ๋กค๋Ÿฌ๋ถ€ํ„ฐ ๋ณด๋ฉด DB์— ์ €์žฅํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๊ณ , ์ €์žฅ๋œ DB์—์„œ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๋“ค์„ ๊บผ๋‚ด์™€์„œ ์‹œ๊ฐ„ ์—ญ์ˆœ์œผ๋กœ sorting ํ•œ ๋’ค ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“์— ๋ฟŒ๋ ค์ฃผ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  37ํ–‰์€ ์œ ์ €๊ฐ€ ๋กœ๊ทธ์•„์›ƒ ํ–ˆ์„ ๋•Œ (์†Œ์ผ“ ํ†ต์‹ ์ด ๋Š๊ฒผ์„ ๋•Œ) ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋ฅผ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ์ด๋‹ค.

 

 

 

๋˜ ์ค‘์š”ํ•˜๊ฒŒ ๋ด์•ผ ํ•  ๋ถ€๋ถ„์ด jamApp.js ์ฝ”๋“œ์ด๋‹ค.

 

 

์ฒ˜์Œ์— ์ฑ„ํŒ…๋ฐฉ์— ๋“ค์–ด์™”์„ ๋•Œ๋‚˜, ์ฑ„ํŒ…์„ ์ƒˆ๋กœ ๋ณด๋ƒˆ์„ ๋•Œ, ํšŒ์›์ด ๋กœ๊ทธ์•„์›ƒ ํ•ด์„œ ์ฑ„ํŒ…๋ฐฉ์„ ๋น ์ ธ๋‚˜๊ฐ”์„ ๋•Œ ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ™”๋ฉด์— ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋“ค๊ณผ, ์ƒˆ๋กœ์šด ๋ฉ”์‹œ์ง€๋ฅผ ์ž…๋ ฅํ•˜๊ณ  submit์ด ๋ˆŒ๋ ธ์„ ๋•Œ ์ฒ˜๋ฆฌ๋˜๋Š” ์ฝ”๋“œ๋“ค์„ ์งฐ๊ณ 

 

๋งˆ์ง€๋ง‰์— displayMessage๋Š” ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ™”๋ฉด์— ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. 

 

 

์•”ํŠผ ์ด๋ ‡๊ฒŒ ๋‹ค ํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ช‡๊ฐ€์ง€ ์žˆ์–ด์„œ ๊ณ ์ณ์•ผ ํ•œ๋‹ค.

 

1. ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ”๋กœ ๋œจ๋Š” ๋ฉ”์‹œ์ง€๋Š” ์ •๋ ฌ์ด ์•ˆ๋ผ์„œ ๋งจ ์œ„์— ๋œฌ๋‹ค.

2. ๊ฐœ์ธ์ ์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ์ „์ฒด ํ†ก๋ฐฉ ๋А๋‚Œ์˜ ๋ฉ”์‹œ์ง€๋ผ ์ด๊ฑธ ๊ฐœ์ธ์ ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฉ”์‹œ์ง€๋กœ ๋ฐ”๊ฟ”์•ผํ•œ๋‹ค.

 

์ผ๋‹จ ์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ณ ์ณ์•ผ ํ•  ์ ์ด๊ณ 

 

์ „์ฒด์ ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ์ถ”๊ฐ€/์ˆ˜์ • ํ•ด์•ผ ํ•  ๋ฌธ์ œ๋“ค์€

1. ์žผ ๋“ฑ๋กํ•˜๋Š” ๋ถ€๋ถ„ ๋ญ”๊ฐ€ ๋” ์„ธ์„ธํ•˜๊ฒŒ ์ˆ˜์ • (ํผ/๋””ํ…Œ์ผ ๋ถ€๋ถ„ ์ˆ˜์ • ์ง„์งœ ์ฐธ์—ฌํ•˜๊ณ  ์ฐธ์—ฌ ๋ชฉ๋ก ๋ณผ์ˆ˜ ์žˆ๊ฒŒ -> ๊ณต๋™๊ตฌ๋งค ์ฒ˜๋Ÿผ ๊ทธ๋Ÿฐ ํ˜„ํ™ฉ์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ)

2. ์‚ฌ์šด๋“œ ํŒŒ์ผ ์˜ฌ๋ฆฌ๋Š” ๋ฌธ์ œ

3. ์žผ ๋“ฑ๋ก์‹œ ์‚ฌ์ง„ ํŒŒ์ผ ์˜ฌ๋ฆฌ๋Š” ๋ฌธ์ œ

 

๋“ฑ๋“ฑ ์žˆ๋‹ค...

 

์ด์ œ ์ฑ…์—์„œ ์•Œ๋ ค์ค€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์€ ๋๋‚ฌ๊ณ  ์ด๊ฑธ ์‘์šฉํ•ด์„œ ์ž˜ ์ฝ”๋”ฉํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

 

 

 

 

LIST

๋Œ“๊ธ€