2012-12-03 7 views
1

나는 페이스 북과 같은 알림을주고 싶은 프로젝트에서 일하고있다. 즉 누군가 다른 사람의 프로필에 댓글을 달거나 다른 사람의 프로필에 대한 링크를 좋아할 때 실시간 푸시 알림을 위해 nodejs를 사용하고 싶습니다.노드 js + mysql 푸시 알림

이러한 의견 데이터는 "알림 테이블"의 ajax 요청을 통해 또는 php에 게시하여 mysql 데이터베이스에 저장됩니다. 실시간 누름 알림을 위해 net에서 nodejs에 대한 많은 자습서를 찾았지만 불행히도 이야기합니다. 파일을 감시하고 파일이 업데이트되면 알림을 내 보냅니다.

누구든지 mysql 테이블을 감시하는 방법을 알고 있으므로 테이블에 데이터가 삽입 될 때마다 알림을 내 보냅니다. 나는 nodej에서 작성해야하는 코드의 어떤 종류도 얻지 못하고있다.

자세한 설명이 필요하면 알려주십시오.

미리 감사드립니다.

+0

를 살펴? –

+0

예. 나는 그것을 완료했습니다 –

답변

1

mysql 라이브러리와 함께 node.js를 사용하여 데이터베이스에서 새 알림을 폴링 할 수 있습니다. 이는 내가하려는 일이라고 생각합니다. 나는 개인적으로 그 특별한 일을 해 본 적이 없지만 그것이 성취 할 수 있다는 것을 안다.

작성해야 할 코드 종류에 관해서는 "노드 미들웨어 자습서"를 검색 쿼리에 MySQL이 포함 된 변형을 사용하여 찾아보십시오. 찾고있는 것이 무엇인지 적어도 알게 될 것입니다 에 대한.

올바른 대답으로 이동하기 위해보다 구체적인 코드 샘플로이 대답을 업데이트 할 수 있습니다.

+0

고마워 브라이언, 나는 당신의 제안에 따라 찾아 볼 것입니다. 나는 원하는 것입니다. mysql 테이블이 새로운 레코드에 의해 업데이트 될 때마다, nodejs에 의한 업데이트를 직접받을 수 있습니까? 전통적인 Ajax 요청을하는 것처럼 매분마다 요청할 수 있습니다. –

+0

예. Socket.io를 사용하여 브라우저에 업데이트를 푸시 할 수 있지만 이미 노드를 사용하여 데이터베이스에 알림 데이터를 삽입하지 않은 경우 노드를 사용하여 변경 사항을 데이터베이스에 폴링해야합니다. –

+0

Ok brian, 즉 nodej의 함수에서 타임 아웃을 설정하고 주기적으로 mysql에서 select 쿼리를 실행해야한다는 의미입니다. 하지만 최적화 된 솔루션이 될 것입니까? –

0

nowjs을 사용하고 후 저장 (mysql 활성 레코드를 사용하는 경우)에이 패키지를 사용하여 클라이언트에 알릴 수 있습니다. 당신이 당신의 프로젝트를 완료 할 수 했 클라이언트 자세한 내용은

<script type="text/javascript" src="http://localhost:8080/nowjs/now.js"></script> 

<script type="text/javascript"> 
    now.ready(function(){ 
    // "Hello World!" will print on server 
    now.logStuff("Hello World!"); 
    }); 
</script> 

에 서버

var httpServer = require('http').createServer(function(req, response){ /* Serve your static files */ }) 
httpServer.listen(8080); 

var nowjs = require("now"); 
var everyone = nowjs.initialize(httpServer); 

everyone.now.logStuff = function(msg){ 
    console.log(msg); 
} 

examples

+0

고마워요, 노먼, 나도 이걸 보게 될거야. 늦은 답변 죄송합니다. –

+0

nevermind, 답이 맞다면 질문에 답을 달아주세요 ... 안부 – norman784

+0

nowjs가 개발자들에 의해 포기 된 것 같습니다 (적어도 지금은.) 적절한 교체 방법을 알고 있습니까? https://groups.google.com/forum/?fromgroups=#!topic/nowjs/FZXWZr22vn8 –