반응형
Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- gradle
- git
- hung-up
- socket-client
- cloud-firestore
- BottomSheetDialog
- google-login
- Kotlin
- Java8
- Android
- ozd
- JNI
- Flavors
- Dva
- ActivityResult-API
- socket-server
- socket.io
- AWS
- firebase-storage
- firebase-database
- 오즈뷰어
- 워치
- NoSuchMethodError
- mqtt
- git-push
- TIZEN
- Galaxy Watch
- Firebase
- mosquitto
- OZViewer
Archives
- Today
- Total
Hyeyeon blog
[Node.js] Socket.io를 이용한 소켓 서버 구현하기 본문
반응형
Socket.io
Socket.io란 서버와 클라이언트 간의 양방향 통신을 위한 WebSocket 기반의 Node.js 라이브러리 입니다.
Socket.io vs WebSocket
WebSocket
- HTML5 웹 표준 기술입니다.
- http://가 아닌 ws://를 사용합니다.
- Http Request를 사용하여 80, 443 포트로 통신하기 때문에 별도로 방화벽을 열지 않고 양방향 통신이 가능합니다.
Socket.io
- 표준 기술이 아닌 라이브러리입니다.
- WebSocket을 지원하지 않는 브라우저에서도 통신이 가능합니다.
Socket.io 적용하기
1. socket.io 설치
글 작성 기준, 최신버전은 3.4.0이나 최신버전으로 설치한 후 안드로이드에서 연결 시 ping timeout이 발생하여 연결에 실패하기 때문에 2.3.0 버전으로 설치를 진행합니다.
npm install socket.io@2.3.0
2. app.js 코드 구현
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var path = require('path');
app.get('/', function(req, res){
res.render('index');
});
// 클라이언트에서 connect에 성공 시 호출됩니다.
io.on('connection', function(socket){
console.log('client connected');
socket.on('message', function(obj){
// 클라이언트에서 'message'라는 이름의 event를 받았을 경우에 호출됩니다.
console.log('server received data');
console.log(obj);
});
socket.on('disconnect', function(){
// 클라이언트의 연결이 끊어졌을 때 호출됩니다.
console.log('server disconnected');
});
});
// 소켓 통신을위해 포트를 지정합니다.
var PORT = 3000;
http.listen(PORT, function(){
console.log('listening port: 3000');
});
3. 서버 실행
아래의 명령어로 서버를 실행합니다.
node app.js
연결되는 글
>> Socket.io를 이용하여 소켓 서버와 안드로이드 앱 통신 하기
728x90
'개발 > Node.js' 카테고리의 다른 글
[Node.js] Basic Auth 구현하기 (+ swagger 추가) (0) | 2019.02.02 |
---|
Comments