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" 에 접속 한다.
두세번째 클라이언트 실행: 위와 똑같이 한다.
브라우져 창에서 뭘 써 보내면, 모두 한테 온다.
-------------
-------------
'개발 > web' 카테고리의 다른 글
json 사용, example source (0) | 2022.08.17 |
---|---|
Node.js “net” Module을 사용해 tcp socket 통신 , example source (0) | 2022.08.16 |
js 모듈 p5 간단히 보기: 마치 스케치북과도 같으며 다양한 드로잉 기능을 제공 (0) | 2022.08.16 |
win 7 에서 node.js 로 serial port 통한 송수신 위해 설정 하기 - nodejs serialport window (0) | 2022.08.01 |
node , express, bootstrap 으로 간단 홈페이지, example source (0) | 2022.07.27 |