본문 바로가기

개발/web

win 7 에서 node.js 로 socket 통신을 하는 예제 : chat 하기, example source

반응형



node.js 에서 socket 통신을 하기
- 보기 2개 : 간단 소켓 통신, chat 


보기 2는 
node js 에서 socket 을 사용해 보자
본 내용은 
https://socket.io/get-started/chat
https://github.com/socketio/chat-example
에서 가져 온것을 이용 하여 chat 를 되게 하는 것이다.


0. 기본 : win 7 x64 에서
- 노드 설치 : https://nodejs.org/dist/  에서 
- win 7 은 10.x,x  마지막 버전 10.24.1 버전 을 설치 한다 버전 12도 되나 ... 
  뭐가 안되더라.. 어째든 12는 뭐가 안되는 게 있어 10 을 쓴다.
https://nodejs.org/dist/v10.24.1/ 에서
- node-v10.24.1-win-x86.zip 이나, node-v10.24.1-win-x64.zip  을 받아 적당한데 풀고
- 환경 변수 path 에 경로 추가
- cmd 창에서 "node -v" 명령에 버전 "v10.24.1" 이라 나오면 됨
- 그 경로에 npm 도 실행 할 수 있도록 들어 있음. 


0.1 실행
-  집 파일 풀고 그 디렉토리로 들어 간다.  E:\study\node-socketio-chat
- cmd 창을 연다
- 서버실행 : E:\study\node-socketio-chat>node server1.js
Socket.IO server running at http://localhost:3000/
- 클라이언트 실행 : 브라우저 띄우고 "http://localhost:3000/" 을 친다.
  "http://127.0.0.1:3000/" 은 안되네 ...
- 채팅의 경우 

- 서버실행 : E:\study\node-socketio-chat>node server2.js

물론 클라이언 트는 2개를 해야 채팅이 되는것이다.
- 한 창에서 아무 글자나 치면 모든 창에서 나오는 것을 알 수 있다.

------------------------------------------------------
작업:

 작업 한 것을 집에 모두 담았으니 집 파일을 받았으면 실행(아래 4, 5) 만 하면 된다.
     아래 것들은 작업을 하는 내용이다.

1. 작업 디렉 토리 만들기 와 그 디렉토리로 간다.
-  집 파일 풀고 그 디렉토리로 들어 간다.  E:\study\node-socketio-chat
- cmd 창을 연다
- 그 디렉토리로 간다.

2. 작업디렉토리 초기화 // package-lock.json 만들기
- cmd 창 열어 E:\study\node-socketio-chat 에 가서 
> npm init
또는 
> npm init -y // 이것 저것 물어보는거 답하기 귀찮으면..
를 하고 나면, 아무것도 없던 디렉토리에 package-lock.json 가 생긴다.

3. 현재 디렉토리에 라이브러리 설치 하기, 
- 서버 편하게 말든기 위헤 익스프레스 설치
- 소켓 사용 하기 위해 소켓아이오 설치
> npm i socket.io -s // -s 는 --save 와 같은거로 현재 디렉토리에 저장 하라는 뜻
> npm i express -s
이 정상적으로 실행 되면 package-lock.json 의 dependencies 에 설치된 내역을 볼수 있다
------------------
  "dependencies": {
    "express": "^4.18.1",
    "socket.io": "^4.5.1"
  }
------------------

4. 예제 1 : 간단 소켓 보기
서버 파일 :  server1.js
클라이언트 파일 :  index1.html
서버 실행: 작업디렉토리 cmd 창에서 > node server1.js
클라이언트 실행: 브라우져에서 "http://localhost:3000" 에 접속 한다.
두세번째 클라이언트 실행: 위와 똑같이 한다.
브라우져 창에서 뭘 써 보내면, 자기한테만 온다.

5. 예제 2 : chat 
서버 파일 :  server2.js
클라이언트 파일 :  index2.html
서버 실행:  작업디렉토리 cmd 창에서 > node server2.js
클라이언트 실행: 브라우져에서 "http://localhost:3000" 에 접속 한다.
두세번째 클라이언트 실행: 위와 똑같이 한다.
브라우져 창에서 뭘 써 보내면, 모두 한테 온다.
-------------

node-socketio-chat-220816.zip
1.55MB


-------------

반응형