2012-12-06 6 views
-1

PHP Ajax에서 지침이 필요합니다.는 PHP 아약스에서 지침이 필요합니다.

Gmail과 같은 기능을 개발하고 싶습니다.

이제 여기 있습니다.

두 페이지 중 하나가 로그인이고 두 번째가 표시됩니다.

일단 로그인 사용자는 다른 사용자가 보낸 메시지를 볼 수있는 페이지를 표시하기 위해 리디렉션합니다.

이제 사용자가 다른 사용자에게 메시지를 보낼 때마다 다른 사용자가 메시지를 받았음을 알리고 메일 상자에 추가해야 할 때처럼 아약스를 구현하려고합니다.

나는 나는 그것이 setInterval를 사용하지만 setInterval5 sec 또는 10 sec 중 하나이 될 수 있기 때문에 거기에 다른 방법 할 수있는 알고 있지만 다른 사용자가 그에게 메시지를 보낼 때마다 나는 그것을 발사합니다.

이 내용은 zaarly.com 및 Gmail 양식에서 확인하실 수 있습니다. 사전에

감사합니다.

+2

"Gmail과 같은 기능을 만들고 싶습니다." --- 하하. 그런 질문으로는 아무 것도하지 않을 것입니다. – zerkms

+0

setInterval은 옵션이지만이 옵션을 사용하는 사람이 많으면 서버에서 꽤 무거울 수 있습니다. 어떻게 메시지를 저장 하시겠습니까? JSON 파일을 사용할 수 있습니다. – Lightbulb1

+1

@sam yah 저는 json을 사용하고 부하가 문제가되지 않습니다. 이제 메시지에 응답을 추가하고 응답 할 때마다 즉각적으로 사용자에게 알리고 싶습니다. –

답변

1

Ajax는 브라우저 측 기술이다. 브라우저에 요청하지 않으면 서버로부터 메시지를 수신 할 수 없습니다. 이것을 위해 Ajax를 사용하려면 setTimeout 또는 이와 유사한 것을 사용하여 제안한 줄에 따라 솔루션을 사용하여 정기적으로 서버에 ping을 수행해야합니다.

실제로 Ajax는 이런 종류의 잘못된 용어입니다. 검색해야 할 용어는 실제로 혜성으로 알려져 있습니다. 여기에 대한 자세한 내용은 http://en.wikipedia.org/wiki/Comet_%28programming%29을 참조하십시오.

Comet은 서버 푸시 투 브라우저 기술에 대한 포괄적 인 용어입니다.귀사의 솔루션은 Comet에 대한 여러 가지 구현 중 하나이지만, 대역폭 측면에서 특히 효율적이지는 않습니다. 위의 링크 된 위키 페이지에는 목표를 성취 할 수있는 가능한 여러 가지 가능한 방법이 나열되어 있습니다. 그러나 'Ajax'보다는 'Comet'에 대한 검색이 확실히 여기에 연구에 도움이 될 것입니다.

희망이 있습니다.

2

gmail과 같은 것을 만들고 싶다면 다음과 일부 자바 스크립트 기술에 대한 많은 연구가 필요합니다. 당신이 사용하는 유일한 언어.

  • Node.js - 소켓을 사용하여 브라우저에 실시간 업데이트를 번 전달할 수있는 백엔드 서버입니다.
  • Backbone.js - 자바 스크립트 비동기 적으로 파일의 모든 백본을로드 나는 또한 기본적으로 사용되는 목록에 Require.js을 포함 할 것

"Gmail과 같은"단일 페이지 애플리케이션을 구축하는 반 구조화 된 방법 . 응용 프로그램의 파일 구조를 유지 관리하는 데 도움이됩니다.

+1

gmail과 정확히 일치하지 않습니다. 나는이 순간적인 응답 기능을 가지고 있다고 예를 들었습니다. 노드와 백본은 jQuery와 호환됩니다. –

+0

서버 측에서 DOM 조작이 필요하지 않지만 백본이이를 완벽하게 지원하므로 노드에서 jQuery가 실제로 필요하지는 않습니다. 실제로 필요합니다. – Xerri

+0

필자가 내 대답에서 설명한 것은 익숙해 지려면 약간의 시간이 필요하지만 확장 성 문제에 대해 너무 많이 걱정하지 않아도 강력한 응용 프로그램을 만들고 싶다면 아마도 가장 미래의 증거 방법 일 것입니다. 자세한 내용은 http://socket.io/를 참조하십시오. 기본적으로 서버에서 브라우저로 실시간으로 메시지를 보낼 수 있습니다. 그것의 오래된 브라우저라면 폴링으로 폴백 될 것인데 이것은 다른 답변에서 언급 된 혜성과 유사합니다. – Xerri

0

의견에서 "즉각적인 응답 기능"이라고 말합니다. 긴 폴링 (push technology)을 살펴보고이를 이해 한 다음 올바른 언어, 기술 및 아키텍처를 선택하여 작업에 적합하게 만들어야합니다. 웹/AJAX의 맥락에서

은 롱 폴링은 혜성 프로그래밍로 알려져 있습니다.

"PHP AJAX"- PHP는 서버 측, JavaScript는 클라이언트 측입니다. 그 (것)들을 혼동하지 않 거든 당신은 망할 것이다 :

관련 문제