boostcamp Day18-19 학습정리

ttobe·2023년 8월 2일

boostcamp

목록 보기
11/15
post-thumbnail

TCP/IP

Echo Server

에코 서버란, 클라이언트가 전송해 주는 데이터를 그대로 되돌려 전송해 주는 기능의 서버를 의미한다.

net 모듈

모듈에 대한 사용법을 참고했습니다.

var net = require('net');

// 서버 5000번 포트로 접속
var socket = net.connect({port : 5000});
socket.on('connect', function(){
	console.log('connected to server!');
	
	// 1000ms의 간격으로 banana hong을 서버로 요청
	setInterval(function(){
		socket.write('banana hong!');
	}, 1000);
});

// 서버로부터 받은 데이터를 화면에 출력
socket.on('data', function(chunk){
	console.log('recv:' + chunk);
});
// 접속이 종료됬을때 메시지 출력
socket.on('end', function(){
	console.log('disconnected.');
});
// 에러가 발생할때 에러메시지 화면에 출력
socket.on('error', function(err){
	console.log(err);
});
// connection에서 timeout이 발생하면 메시지 출력
socket.on('timeout', function(){
	console.log('connection timeout.');
});

다른 소켓에 데이터를 줄 때에는 socket.write("String")을 사용하고
다른 소켓에서 데이터를 받을 때에는 socket.on('data', function(data){...})를 사용합니다.


이번주는 net 모듈을 이용해 소켓 네트워크를 진행했습니다. 개념이 좀 어려워서 많이 헤맸지만, 구현 자체는 간단한 편이여서 괜찮은 과제였습니다.
악명으로만 들었던 네트워크 과제가 나왔을 때, 걱정이 많이 되었지만 그래도 4주동안 해서 그런지 끝낼 수 있었습니다.

그리고 이렇게 끝이 났습니다.
어찌저찌 우당탕탕 이렇게 지나갔는데, 생각을 좀 정리해서 회고 글을 적어봐야할 것 같습니다.

1개의 댓글

comment-user-thumbnail
2023년 8월 2일

정보 감사합니다.

답글 달기