2014-04-09 2 views
0

nodejs를 사용하여 여러 페이지로 웹 응용 프로그램을 만들고 있습니다 (& socket.io). 기능 중 하나는 푸시 알림입니다. 즉, 모든 페이지에서 socket.io가 실행 중이어야합니다. 모든 페이지로드시 socket.io에 연결하는 데 많은 시간이 걸리므로 앱 속도가 느려집니다.노드 + 표현에 소켓을 열어 두십시오.

소켓에 대한 연결을 유지하는 방법이 있습니까?

한 가지 방법은 아약스를 사용하여 루트 페이지 내 다른 페이지를 렌더링하는 것이지만,이 방법은 앱을 복잡하게 만들 것이라고 생각합니다.

이것을 구현하는 더 좋은 방법이 있습니까?

답변

0

올바른 방법으로 클라이언트 측을 처리하고 있습니까?

단일 페이지 응용 프로그램이있는 경우 브라우저는 페이지를 거의 완전히 다시로드하지 않아야합니다. angularjs/backbone/ember/etc와 같은 SPA 메커니즘 (라우팅, 템플릿 등)을 처리하려면 클라이언트 측 프레임 워크를 사용해야합니다 ...

잘 형성된 SPA를 사용하면 앱을 한 번만로드하고 보관합니다. 브라우저 탭이 열려있는 한 페이지를 다시로드하지 않고도 살아있을 수 있습니다. 따라서 웹 캣은 한 번만 생성됩니다. 이런 종류의 문제는 없어야합니다. 서버 쪽 코드는 괜찮습니다. 잘못된 클라이언트 쪽을 수행하는 것입니다.

그런데 데이터 푸시 만 처리하려는 경우 Server Sent Events을 살펴 봐야합니다. 소켓 1150과 같은 전이중 구현 (약간 무겁습니다)

관련 문제