나는 전 프로젝트에서 HTTP 통신을 사용했는데, 다른 팀들의 깃허브를 살펴보다가 실시간으로 응답할 수 있는 SOCKET 통신을 사용한 개발 프로젝트에 눈길이 갔다. 궁금한 건 못 참는 나는 당장 SOCKET 통신에 대해 공부를 시작했는데, 보통 SOCKET 통신을 사용해 실시간 채팅방을 구현해보길래 나도 이 다음 게시물에 Socket.io를 사용해서 구현해 볼려고 한다. (기대하셍요 ~! 😋)
TCP/IP 기반 네트워크 통신에서 데이터 송수신의 마지막 접점
양방향 연결지향성 통신
프로토콜: 어떤 시스템이 다른 시스템과 통신을 원활하게 할 수 있도록 해주는 통신 규약
IP주소: 전 세계 컴퓨터에 부여된 고유의 식별 주소
포트: 네트워크 상에서 통신하기 위해서 호스트 내부적으로 프로세스가 할당 받아야 하는 고유한 숫자

OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야 한다. 즉, 소켓은 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해준다. 이러한 소켓은 역할에 따라 서버 소켓, 클라이언트 소켓으로 구분된다.

HTTP 통신은 클라이언트 요청이 있을 때만 서버가 응답하여 해당 정보를 전송하고, 곧바로 연결 종료하는 단방향 통신 방식이지만, SOCKET 통신은 서버와 클라이언트가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식이다.
Socket.io는 Node.js를 이용해 웹 애플리케이션에서 실시간 통신을 구현하기 위한 라이브러리이다. Socket.io는 웹 소켓(Web Socket)을 기반으로 동작하며, 웹 소켓이 지원되지 않는 브라우저에서는 폴링(Polling) 방식을 사용하여 실시간 통신을 구현한다.
이 Socker.io를 사용해서 실시간 채팅방 앱을 구현할 것이다 !! 다음 게시물에서 만나용 ㅋ