2013-07-12 1 views
0

PHP 응용 프로그램에 대한 알림 시스템을 구축하려고합니다. 예약이 이루어질 때마다 응용 프로그램 내에서 지정된 사용자 계정 유형으로 표시되도록 알림이 필요합니다.PHP와 jQuery간에 데이터 전송

저는 가상 전용 호스트에서 CodeIgniter 2를 사용하고 있습니다. 따라서 작업을 완료하는 데 필요한 것이 무엇이든지 설치를 요청할 수있는 옵션이 있습니다.

지금까지 PHP는 jQuery를 트리거하는 방법에 대한 제한된 권한이 웹 브라우저에만 국한되어 있다는 것을 알고 있습니다. 나는 Node.js와 Socket.io가 내가 원하는 것을 할 수 있다는 것을 알고 있지만 PHP로 묶는 방법은 무엇입니까?

폴링 메커니즘이 좋지 않을 수도 있습니다. 이론적으로 생각할 수있는 확인 페이지 내의 jQuery 스크립트에 행 ID를 PHP를 통해 전송하는 방법을 고려했습니다. 그러나이 정보는 고객의 웹 브라우저에 의존합니다. 조금 약하다.

나는이 질문을두고 며칠을 보냈다. 단지 jQuery에 익숙해 졌기 때문에 나는 Node.js 나 Socket.io에 대해 거의 알지 못했다. , 또는 - 앞에서 언급했듯이 - PHP와 어떻게 연결되는지.

모든 조언을 환영합니다.

+0

가장 쉬운 해결책은 새로운 알림 checkes 매 10, 20 초가는 아약스 통화를하는 것입니다. PHP가있는 소켓은 .. 흠 .. 고통. – OptimusCrime

답변

2

실시간 푸시 방식을 사용하면 서버에서 이벤트가 발생할 때마다 서버가 클라이언트 (채널 구독자)에게 데이터를 푸시합니다. 이 메소드는 폴링 (polling)과 같은 pull 메소드보다 진보 된 것으로 실시간 커뮤니케이션이 될 것입니다. (즉, 클라이언트는 시간이없는 서버로부터 실시간 업데이트를받습니다. pull 메소드에서는 각 쿼리 사이에 시간 간격이 있습니다). 실시간 푸시 방법에 대한 예 : Faye, pusher, socket.io, 실시간 푸시 방법의 대부분

slanger 루비 또는 nodejs에 내장되어 있습니다. 따라서 실시간 서버를 설정하려면 서버 (루비 또는 nodej)에 설정해야하며 curl 문을 사용하여 PHP에서 해당 서버와 통신 할 수 있습니다. 또한 이러한 작업에 사용할 수있는 PHP 라이브러리가 있습니다.

방아쇠를 설치하려는 경우 푸시 자 php library을 사용할 수 있습니다 (방아쇠와 함께 사용하려면 약간 수정할 필요가 있음). 그리고 faye를 사용하기를 원한다면 여기 PHP 라이브러리가 자기 자신을 썼습니다 : faye php wrapper

+0

Harish, 내가 당신의 충고를 의심하지 않지만, 나는 어디서부터 시작해야할지 모르겠다. 그 점에 관해 어떤 제안이 있습니까? –

+0

pusher.com과 같은 제공 업체가 제공하는 실시간 서비스 (또는 http://www.quora.com/What-are-alternatives-to-pusher-com 참조)를 사용하거나 실시간으로 설정할 수 있습니다 섬기는 사람. 어떤 방법으로 가고 싶습니까? –

+0

내 실시간 서버를 선호하므로 완벽한 제어가 가능합니다. –

0

해당 타임 스탬프와 함께 데이터베이스에 알림을 저장할 수 있습니다. 그런 다음 긴 풀링을 사용하여 알림 용 PHP를 호출하는 jQuery에서 메시지를 수신합니다.

쿨 예는이 anwser에 주어졌다 : How do I implement basic "Long Polling"?