2012-06-15 2 views
1

그래서 내가 내 로컬 컴퓨터에이 특정 예를 테스트 한 :
http://bjorngylling.com/2011-04-13/postgres-listen-notify-with-node-js.html사용자 브라우저에서 노드 포스트그레스를 구현하는 방법은 무엇입니까?

그것은했다! 이제 특정 테이블을 업데이트하고 자습서의 node.js 파일을 실행하면 터미널 (Mac)에서 즉시 알림을받습니다 !! 시원한!

어떻게 클라이언트의 브라우저에 이것을 구현합니까 ??

pgConnectionString = "postgres://username:[email protected]/db"; 

내가 분명히에 주위에 떠있는 것을 가질 수 없습니다 : 모든

첫째, Node.js를 스크립트에서 내가 내 사용자 이름과 암호를 사용하여 데이터베이스에 연결해야 할 것을 알 수 있습니다 .js 파일은 사용자 브라우저가 다운로드 한 파일입니다.

플러스 <head>에 어떤 스크립트를 포함시켜야할지 모르겠다. 나는 이것이 현실 세계에서 어떻게 사용되는지에 대해서는 아무 것도 찾을 수 없다. 나는 명령 행에서 사용할 수있는 청초한 예를 거의 볼 수 없다.

조언이나 올바른 방향으로 안내하는 것이 좋습니다! 감사.

답변

2

수 없습니다.

Node.js는 서버에서 직접 실행되며 해당 컴퓨터의 기본 라이브러리에 직접 연결됩니다. 내가 사용하는 postgres 드라이버가 정확히 무엇인지는 모르겠지만 postgres 라이브러리에 대해 말하거나 로컬 또는 원격 데이터베이스 서버에있는 소켓과 직접 이야기합니다.

브라우저 환경에서 직접이 방법을 사용할 수 없습니다 (기본 라이브러리를 직접 말할 수없고 "원시"소켓을 말할 수 없음).

당신이 할 수있는 일은 웹 클라이언트가 서버 (node.js 또는 유사한 것을 실행)에서 자신의 서버 프로세스와 대화하게하고 클라이언트를 대신하여 데이터베이스와 대화하는 것입니다.

데이터베이스 서버에서 클라이언트에 대한 알림을 초기화해야한다고 가정하면 socket.io 또는 이와 유사한 양방향 통신 모듈을 사용해야합니다.

+1

그것에 대해 "기술적으로"확실하지 않습니다. 당신은 할 수 없어요. –

+0

나는이 질문을 한 이후로 nodej를 훨씬 더 잘 이해하게되었고, 오히려 어리석은 질문에 친절한 대답을 해준 데 대해 감사 드리고 싶습니다! –

+0

당신은 socket.io 대신 litesocket/server-side 이벤트를 사용할 수 있습니다 : https://github.com/williamwicks/litesocket – DTrejo

0

할 수있는 작업 : node.js 기반의 WebSocket 서버로 이벤트를 수신하는 Postgres에 액세스하는 node.js에서 실행중인 JS를 결합하고, PubSub을 구현하고 HTML5 브라우저로 푸시 아웃합니다. WebSocket 가능한 것들.

0

다른 옵션 : 일반 웹 소켓 https://github.com/kanaka/websockify처럼 브리지를 사용하고 JS에서 브라우저에서 실행되도록 Postgres 클라이언트 프로토콜을 구현하십시오. 그것은 가능하지만 아마 쉽지 않을 것입니다/희미한 마음으로.