Socket IO를 이용한 정말 간단한 채팅 프로그램이며, express를 사용한다.
기초만 쓴것이기 때문에 정말로 간단하다.
전체 코드 : https://github.com/wonkwangyeon/Real_Simple_SocketIO_Chat
1. 프로젝트를 하나 만들고 아래의 명령어를 입력한다.
npm init npm install express --save npm install socket.io --save
2. 입력후 app.js라는 파일과 client.html라는 파일을 만든다.
3. app.js 파일에 들어가 아래와 같이 입력한다. (위 github에서 복사 가능)
5번째 라인 : 서버를 오픈한다. 또한 Socket.IO 홈페이지의 레퍼런스에서 app.listen으로 서버를 열지마라고 주의한다.
10번째 라인 : localhost:3000 으로 들어가면 바로 client.html을 열기 위함이다.
15번째 라인 : socket io 에 접속한다.
16번째 라인 : 클라이언트에서 들어오는 메세지를 받은후
18번째 라인 : 이 메세지를 접속한 모든 클라이언트에게 보낸다.
간단하다 on이 메세지를 받는 함수, emit이 메세지를 보내는 함수이다. 앞의 'receive'라는 것을 통해 어디로 보내고 어디로 받는지 정할 수 있다.
클라이언트 부분을 보면 간단하게 이해가 된다.
4. client.html
20~32번째 라인 : 메세지를 받고 전송하는 간단한 입력 폼 전체 소스를 보면 20번째 위에는 아주 간단한 css가 설정되어있다.
33번째 라인 : 핵심. 이것을 통해 socket.io를 사용할 수 있다.
35번째 라인 : 서버에서 오픈한 socket 서버에 접속한다.
37번째 라인 : 버튼을 누르면 실행하는 이벤트이다.
38번째 라인 : 위에 설명하였듯이 emit이 메세지를 보내는 함수 이다. 그리고 'receive'라는 서버에서 설정한 이름을 통해 그곳으로 메세지를 보낸다.
39번째 라인 : 메세지를 보냈으면 현재 입력되어 있는 메세지를 초기화하는 것.
41번째 라인 : 위에 설명하였든이 on이 메세지를 받는 함수이다. 'client_receive'라는 이름이라고 설정하였고 서버에서
emit을 'client_receive'라고 설정하여 보낸다.
42번째 라인 : 받은 내용을 22번째 라인의 textarea에 설정한다.
5. 결과
node app.js 를 통해 실행하고
localhost:3000로 접속한다.
기본적인 함수를 익히고 이를 통해 정말로 간단한 채팅프로그램을 만들어보았다.
전체 코드 : https://github.com/wonkwangyeon/Real_Simple_SocketIO_Chat
'Develop > Node.js' 카테고리의 다른 글
[Node.js] Node.js Slack WebHooks (슬랙 웹훅) (1) | 2019.05.03 |
---|---|
[Node.js] google oatuh passport (0) | 2019.03.11 |
[Node.js] google oauth 인증 (구글 로그인) (0) | 2019.01.07 |
[Node.js] JWT Token 생성 및 검증 (0) | 2019.01.06 |
[Node.js] Express 설치(Windows) (0) | 2019.01.06 |