본문 바로가기

TIL

TIL#43(둘만의 암호, socket.io)

오늘 한일
  • 둘만의 암호

문제 풀이

알파벳 26개 중 skip에 포함되는 알파벳을 제외 한후 s문자열을 for문을 통해 하나씩 index만큼 옮겨준후 answer에 추가해주었다.

다른 사람의 풀이

정규식을 활용해 더 간단하게 풀었다.

  • socket.io

socket.io는 실시간 웹 애플리케이션을 개발하기 위해 사용되는 라이브러리이다. 클라이언트와 서버 간의 실시간 양방향 통신을 가능하게 해준다. socket.io는 WebSocket을 기본적으로 사용하지만, 브라우저나 네트워크 환경에 따라 다양한 폴백(fallback) 메커니즘을 통해 안정적인 연결을 유지한다. 

 

 

  • 클라이언트 -> 서버 (클라이언트가 서버에게 전송한 메시지 수신)

io.on - 특정 이벤트가 발생

socket.emit - 특정 이벤트를 클라이언트로 전송

socket.join - 클라이언트를 특정 방에 추가

socket.leave - 클라이언트를 특정 방에서 나감

 

  • 서버 -> 클라이언트

socket.emit - 서버로 이벤트 전송

socket.on - 서버로부터 받은 특정 이벤트 처리

socket.connect() - 서버에 연결을 시도 (자동 연결이 기본값이지만, 자동 연결을 비활성화한 경우에 사용)

socket.disconnect() - 서버와의 연결을 수동으로 끊음

어려웠던 점
  • 정규식에 대해 잘 몰라 다른 사람의 풀이를 이해하는데 오래 걸렸다. (정규 표현식에 대해 더 공부하여 실제로 활용해보면 좋을 것 같다.)
  • socket.io에 대한 개념을 배웠지만 원리와 활용법이 어려워 실제로 사용하는데 문제가 많았다. (socket.io를 이용해 통신 구조를 많이 구현해보면서 익숙해지면 좋을 것 같다.) 
오늘의 TIP
  • Socket.io는 WebSocket, FlashSocket, AJAX Long Polling, AJAX Multi part Streaming, IFrame, JSONP Polling을 하나의 API로 추상화한 것이다.