Socket

신동윤·2023년 2월 17일
0

TCP란?

서버와 클라이언트간 신뢰성 있는 데이터 송수신을 위해 만들어진 프로토콜입니다.
연결 지향성 프로토콜이라고도 부릅니다.
데이터를 나눠서 보낼수 있으며, 데이터를 받는쪽에서 나눠 받은 데이터를 재조립합니다.
만약 누락된 데이터가 존재하면 다시 요청해서 받아와 완전한 데이터를 만듭니다.
TCP로 서버/클라이언트간 연결이 된 경우 데이터를 양방향으로 주고 받을수 있습니다.
데이터의 순서가 뒤바뀌는 일 없이 안정적이라 신뢰가 가능합니다.
UDP에 비해 데이터 송수신 비용(부담)이 크다는 특성을 가졌습니다.
UDP보다 전송 속도가 느립니다.

UDP란?

TCP와 다르게 비연결성 프로토콜입니다.
데이터를 보내고 제대로 받았는지 확인하지 않아, 데이터가 제대로 도착했는지 보장하지 않는 신뢰도가 비교적 낮습니다.
데이터를 순차적으로 보내도 받는 쪽에서는 다른 순서로 전달받을 수 있습니다.
데이터를 보내기만 하고 별 다른 처리를 하지 않기 때문에 TCP에 비해 비용(부담)이 적다는 특성을 가졌습니다.
TCP보다 전송 속도가 빠릅니다.

socket.io?

자바스크립트를 사용해 웹소켓을 사용하길 원한다면 가장 많이 사용되는 라이브러리입니다.
그러나 이 라이브러리는 순수한 웹소켓 기술만 이용한 라이브러리가 아닙니다.
위에서 말했듯 웹소켓 기술은 아직 모든 브라우저에서 동작하지는 못하기 때문에, 모든 사용자를 고려해야 하는 경우 실시간성 기능 구현에 어려움이 생기게 됩니다.
이 어려움을 해결하기 위해 socket.io는 웹소켓을 사용할 수 없는 브라우저인 경우 서버에서 데이터를 일정 간격마다 받아오는 polling 기능으로 실시간 기능 구현을 가능케 해줍니다.


Error
소켓에 연결이 되지 않았다.
처음부터 다시 하다가 깨달았다. assets에 주석처리 된 부분이 있었다는 것을
파일을 다시 받았다.
해결이 되었다.

0개의 댓글