ํ”„๋กœ์ ํŠธ

[Fullstack] ๊ณ ๊ฐ์„ผํ„ฐ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ

Yuuuki 2024. 4. 23. 15:14

์˜ˆ์ „์— ์ฝ”๋”ฉ์•Œ๋ ค์ฃผ๋Š”๋ˆ„๋‚˜์˜ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค๊ธฐ ์˜์ƒ์„ ๋ณด๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹จ ์ƒ๊ฐ์—,

2์ฃผ ๋ฐฐ์šด ๋ชจ์ž๋ž€ ๋ฐฑ์—”๋“œ ์‹ค๋ ฅ์ด์ง€๋งŒ... ์˜จ์ „ํ•œ ๊ธฐ๋Šฅ์„ ๋‹คํ•˜์ง„ ๋ชปํ•ด๋„ ๊ฐ„๋‹จํ•œ ์ฑ„ํŒ…์•ฑ ๋งŒ๋“ค๊ธฐ์— ๋„์ „์„ ํ•ด๋ณด์•˜๋‹ค!

 

[BackEnd]

HTTP

  • ๋‹จ๋ฐฉํ–ฅ(ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์‹œ๋งŒ)
  • ์—ฐ๊ฒฐ ์ง€์†์„ฑ โŒ

 

์›น์†Œ์ผ“

  • ์–‘๋ฐฉํ–ฅ(๊ฐ์ž๋Œ€ํ™”๋ฅผ ์›ํ• ๋•Œ ์š”์ฒญ ๊ฐ€๋Šฅ)
  • ์—ฐ๊ฒฐ ์ง€์†์„ฑโญ•๏ธ

 

๐Ÿ‘‰๐Ÿป ์›น์†Œ์ผ“์œผ๋กœ ์ง€์†์ ์ธ ์‹ค์‹œ๊ฐ„ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ์„œ๋ฒ„๊ฐ€ ์ƒˆ๋กœ์šด ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ์„๋•Œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ฆ‰์‹œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ์ˆ˜์žˆ๋‹ค.

 

 

https://github.com/Yuiii0/chat-server

 

GitHub - Yuiii0/chat-server

Contribute to Yuiii0/chat-server development by creating an account on GitHub.

github.com

 

[FrontEnd]

 

ํ”„๋ก ํŠธ์—์„œ socket ์—ฐ๊ฒฐํ•˜๊ธฐ

//server.js

import { io } from "socket.io-client";

const socket = io("http://localhost:5001"); //์—ฐ๊ฒฐํ•˜๊ณ ์‹ถ์€ BE ์ฃผ์†Œ
export default socket;

 

 

socket ํ†ต์‹ ํ•˜๊ธฐ 

    socket.emit("login", userName, (res: SocketResponse) => {
      if (res?.ok) {
        setUser(res.data);
      }
    });
    socket.on("message", (message) => {
      setMessageList((prev) => [...prev, message]);
    });

    return () => {
      socket.off("message");
    };

 

์†Œ์ผ“์„ ํ†ตํ•ด, ์„œ๋ฒ„์— ๋กœ๊ทธ์ธ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  message๋ฅผ ๋ฆฌ์Šค๋‹ํ•ด์„œ  messageList ๊ฐ’์„ ์„ค์ •ํ•ด์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋„์šด๋‹ค.

 

 

const sendMessage: FormEventHandler<HTMLFormElement> = (event) => {
    event.preventDefault();
    socket.emit("sendMessage", message, (res: SocketResponse) => {
      console.log("sendMessageRds", res);
    });
    setMessage("");
  };

emit์„ ํ†ตํ•ด input์ฐฝ์— ์ž…๋ ฅํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

 

 

ํด๋ผ์ด์–ธํŠธ์ธก์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด, ์‹œ์Šคํ…œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

 

 

 

 

 

 

 

 

๊ฐœ์„ ์ด ๋งŽ์ด ํ•„์š”ํ•˜์ง€๋งŒ, ์ฑ„ํŒ…  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค๋Š” ์ ์— ์˜๋ฏธ๋ฅผ ๋‘๊ณ ์‹ถ๋‹ค ๐Ÿ™‚