1. 하루에 한통 주고받는 채팅에 소켓을 계속 열어두면 서버측면에서 비효율적이지 않나요?
- 계속 열어두는 경우는 극히 드뭅니다. 보통은 connetion pool을 만들어두고, 연결 요청시 bind 해서 사용하는 방식이며 session등을 발급해서, 처리하기도 합니다.
2. 소켓통신말고 한통 보낼때마다 메세지를 받는사람들에게 push를 보내준다면,
한통한통 모든 메세지 마다 push를 보내니 이것도 문제가 될거같습니다.
- 그래서 옵져버 패턴을 쓰기도 합니다. 일정 주기로 서버에 데이터가 변경되어있는지 물어서 변경시에만 데이터를 받는 방식입니다.