반응형


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


참고 :  https://socket.io/docs/#What-Socket-IO-is

반응형

+ Recent posts