HTTP 및 TCP / IP를 통한 관찰자 패턴 (서버 클라이언트)


9

웹 응용 프로그램을 기반으로 서버에 연결하는 서버와 많은 클라이언트 (약 50 명의 클라이언트)가 있습니다.이 프로토콜은 HTTP 프로토콜을 기반으로합니다.이 프로토콜은 TCP / IP를 사용합니다 (잘못된 경우 수정). 네트워킹에 능숙하지 않습니다).

문제는 누군가가 위험한 값을 가진 양식을 제출할 때 관리자 (같은 웹 응용 프로그램을 통해 연결된 관리자)가 거의 실제 화면에서 경고 팝업을 받아야하는 경고 메커니즘을 개발해야한다는 것입니다. -시간 (즉시).

그러나 HTTP 프로토콜은 상태가 없기 때문에 약간 당황합니다. 나는 이것을 어떻게 구현할 수 있는지 모른다.

해결책 중 하나는 JavaScript를 setInterval()함수 와 함께 사용 하여 서버에서 초당 데이터 를 가져 오는 것 입니다. 그러나 이것은 나에게 조금 더럽고 전문가가 아닌 것 같습니다.

다른 솔루션을 구현할 생각이 있습니까?



어떤 종류의 고객? 씬 (브라우저 기반) 클라이언트 또는 무거운 클라이언트?
ysdx

@ysdx, 고객을 생각하십시오. 브라우저가있는 클라이언트 만 지원합니다.
Saeed Neamati

답변:


4

당신은 어떤 종류의 사용해야 아약스 밀어 (참조 혜성을 고객에게 통지). 폴링의 필요성을 제거 할 수 있습니다. 기본적으로 설정된 이벤트 연결을 열어 브라우저에 발생 이벤트를 알리는 데 사용할 수 있습니다. 그러나 일부 브라우저에서는 작동하지 않습니다. 이러한 경우 "긴 폴링"으로 넘어갑니다.


6

이것이 WebSockets 이 만들어진 이유라고 생각합니다 . 이전 브라우저와의 호환성이 필요하지 않은 경우 폴링 대신이를 사용할 수 있습니다. 어쨌든 폴링을 폴백으로 사용해야합니다.

요즘 사양 / 구현이 얼마나 안정적인지 잘 모르겠습니다 (오래 전에 그렇게 안정적이지 않았습니다). 최신 사양이 Firefox 6 및 Chromium 14에서 구현 된 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.