2011-01-19 10 views
2

정말 도움이 필요합니다. 우리는 실시간 웹 애플리케이션을 개발할 계획입니다. 우리는 다른 도서관과 개념을 보았고 조금 혼란 스러웠습니다. 우리가 필요로하는 것 : 클라이언트는 웹 사이트에 연결하여 언제든지 (일반적으로 정수 + 클라이언트 시스템 이름) 원하는 시간 (보통 1 ~ 5 초)의 데이터를 전송합니다. 또한 동일한 클라이언트는 서버에서 실시간 모드로 데이터 (다른 클라이언트로부터 수신 한 데이터)를 수신해야합니다. (최대 0.5 초). 또한이 데이터는 데이터베이스에 저장해야합니다.실시간 웹 응용 프로그램

우리는 다른 기술을 사용하려고 생각했지만 사용할 기술을 결정할 수 없었습니다. 아이폰과 안드로이드 폰 (어쩌면 블랙 베리)에서도이 웹 애플리케이션을 지원해야합니다. 그리고 물론 데스크톱 브라우저.

풀링은 높은로드로 인해이 상황에서 아주 좋은 생각이 아닙니다.

HTML 5 개의 웹 소켓이 새롭고 모든 브라우저에서 지원되지 않을 수 있습니다.

nodejs를 사용하는 사람이 있습니까? 또는 꼬인 매트릭스 : http://twistedmatrix.com/trac/? 또는 궤도에 올랐습니다 (둘 이상의 링크를 게시 할 수 없음)? 또는 토네이도? 또는 XMPP (Jabber. 좋은 예제를 찾지 못했습니다.)? 또는 다른 것?

이 유형의 프로젝트에 가장 적합한 기술은 무엇입니까? 또한, 우리는 아마도 커뮤니티 지원이 있고 자유롭게 사용할 수있는 기술을 선호 할 것입니다.

고맙습니다.

답변

0

여기에 고려해야 할 사항이 많이 있습니다. 나는 HTML 5가 옵션이 아니라, 단순히 플랫폼 전반의 지원으로 인한 것이라고 말할 수있다.

NodeJS로 실행하는 것이 가능하지만 통신 방법은 실제로 복잡합니다. 페이지로 데이터를 밀어 넣는 것은 HTML/웹 응용 프로그램이 수행하도록 설계된 것이 아닙니다 ....

유효한 답변을 얻으려면 누군가와 함께 앉아 철저하게 앉아 있어야합니다. 밖으로 세부 사항 및 실시.

+0

동의하고 응용 프로그램 계층 프로토콜 (HTTP, XMPP 등)을 해당 구현 (TwistedWeb, NodeJS, Tornado)과 섞지 마십시오. –

+0

그래, 내가 조금 섞여 있다는 것을 안다. 웹 앱은 그렇게하도록 설계된 메모라는 것을 알고 있습니다. 프로젝트의 모든 세부 사항을 알고 있습니다. 적절한 기술을 찾으면 아주 간단 해 보입니다. – user194076

0

어떤 종류의 데이터입니까? 목적은 무엇입니까?

실시간으로 당신은 어떤 종류의 RIA를 사용하지 않으면 웹 사이트를 만들지 않을 것입니다. 그러나 그때조차도 충분하지 않을 것입니다. 서비스도 충분하지 않을 것입니다. 당신은 당신이 지원하고자하는 대부분의 플랫폼에서 지원되지 않는 이중 모드를 수행하지 않는 한, 단지 psuedo-real-time이 될 수있는 어떤 종류의 폴링을하게 될 것입니다.

소켓은 이동하는 방법이지만 처리하려는 각 플랫폼에 클라이언트가 필요합니다. 아마 당신은 당신의 요구 사항을 다시 생각해야합니다.

+0

데이터 : 정수, 그냥 숫자. 목적 : 그것은 매우 빠른 경매와 같습니다. 누군가 항목에 대한 가격을 책정하고 다른 사람들은 입찰합니다. 그것은 매우 빠른 (실시간으로 읽음) – user194076

+0

의사 - 실시간은 저와 잘 맞아야합니다.그것이 어떻게 불려지는지 누가 돌봐야 하느냐. 풀링 이외에 다른 선택의 여지가 없습니까? XMPP와 같은 다른 프로토콜은 어떨까요? 아직 표준인가? – user194076

+0

여전히 소켓 (실시간) 또는 폴링 (의사 실시간)을 사용하여 끝날 것입니다. 클라이언트/서버가 데이터를 보낼 수있는 연결을 열어 두거나 클라이언트가 서버에서 가져와야하는 것이 있는지 확인하기 위해 ping을 보내야하는 연결을 유지할 수 있어야합니다. 보안을 고려해야하며 클라이언트에 데이터를 보낼 수 없습니다. 그냥 모바일했다면, 나는 푸시 인프라 (WP7, 안드로이드 또는 아이폰에 대해 몰라) 몰라. 인터넷을 통해 소켓을 열어 두는 것은 현명한 아이디어가 아니며 휴대 기기에서 지원하지 않을 수 있습니다. 폴링이 가장 안전합니다. –

0

클라이언트가 "웹 사이트에 연결"한다고 말하면 실제로 웹 사이트가 필요합니까? 그것은 모든 클라이언트가 보내고있는 것처럼 들리는데 그것은 당신이 웹 사이트를 필요로하지 않는다는 것입니다. 선택한 언어를 선택하고 소켓을 열고 거기에서 이동하십시오.

스트리밍 데이터를 시각화 하시겠습니까? graphite (및/또는 흑연의 일부인 "pyped")을 살펴볼 수도 있습니다.

+0

그러나 웹 응용 프로그램 이외의 다른 방법은 무엇입니까? 우리는 누구나 장치에 아무 것도 설치하지 않기를 원합니다. 그러나 여전히 우리는 관리자를 위해 웹 애플리케이션이 필요합니다. – user194076

+0

@ user194076 : 질문을 이해할 수 있는지 잘 모르겠습니다. 관리 인터페이스가 필요한 경우이를 위해 웹 서버가 필요하지만 실시간으로 데이터를 받아들이고 전달하는 서버의 경우 웹 서버가 필요하지 않습니다. 웹 서버는 실행할 수있는 많은 종류의 서버 중 하나 일뿐입니다. 숫자와 클라이언트 이름을 앞뒤로 보내면 웹 서버의 오버 헤드가 필요하지 않습니다. –