소켓을 이용한 채팅은 둘 다 항상 연결되어야 한다는 단점이 있다.

소켓을 이용한 채팅은 별로 좋지 않다고 생각한다.

다음 생각한 방법은 주기적으로 서버에 호출해서 갱신하는 방법을 생각했다.

하지만 이 방법의 주기적(10 ~60초)인 호출은 최신의 상태를 반영할 수 없다. 또한 데이터의 변동이 없는데 잦은 호출은 트래픽이 많아진다고 생각하기에 다른 방법을 검색해보았다.

서버에서 클라이언트로 변경이 필요한 데이터를 전송해주는 방법이 가장 효율적이라고 생각한다.

검색결과 “Server-Sent Events” SSE기술을 알아보았다.

SSE(Server-Sent Events)

전통적으로 웹페이지는 새로운 데이터를 받기 위해 서버로 요청을 보내야만 합니다; 서버로 데이터를 요청하는 방식입니다. 하지만 Server-Sent Events 방식으로 웹페이지의 요청 없이도 언제든지 서버가 새로운 데이터를 보내는 것이 가능합니다. 이렇게 보내진 메시지는 웹페이지 안에서 ”Events + 데이터”로 다룰 수 있습니다.

그런데?? 이게 앱에서 동작을 안할수도 있는건가? 알아보는 중에 JS에는 있는데 앱에서는 어떻게 실행하는지 모르겠다.