Jxck です。

> Node.jsでのPUSH通知機能を埋め込みたいのですが、
> どういった方法で実現可能かご教示頂けば幸いです。


PHP のサーバに接続している人と、 Socket.IO サーバに接続している人の関係はよくわからないので
「埋め込む」、がどういうイメージなのか探り探りですが、
この手の質問で一番多いのは、
「PHP のサーバに繋がってる人は、その画面の JS で Socket.IO コネクションを Socket.IO サーバと貼ってる」状態で
 「PHP に POST で来たメッセージを、そのまま Socket.IO で他の人に PUSH したい」的なユースケースなので、
その前提で書きます。


1, PHP の Socket.IO-client で Socket.IO-node を叩く。

PHP 自体が Socket.IO サーバと Socket.IO の接続を貼ってしまう。
PHP で Post を受け取ったら、 Socket.IO サーバに Push して、 Socket.IO は (PHP サーバ以外の) クライアントに
Broadcast する。

で、PHP の Socket.IO クライアントってあるのかな?と思ったらあるみたい。http://elephant.io/
(ってか、 PHP で Socket.IO サーバできれば解決なのだろうか?)



2, PHP から Socket.IO に HTTP POST する。

PHP で Socket.IO はよくわからないから、 HTTP  がいいという場合。
Socket.IO サーバである Node.js のサーバに
HTTP で POST を受け取って、その Body なりを Socket.IO で broadcast する API を用意する。
 (前回じゃない過去に TV 連携で事例発表した人がとってた構成)



3, MQ とか Redis とか挟む

個人的には挟めるなら、何か挟むのを進めたい気はします。
POST のレスポンスがすぐに返せるし、疎結合に保てます。色々手はかかりますが。
流れは、メール通知が挟まるのとかと同じ感じです。

3-1, PHP で POST を受け取ったら MQ に積んで POST のレスポンスを返す
3-2, Socket.IO は MQ をポーリングなりして、メッセージがあったら取り出して Broadcast

Redis なら、Pubsub 使えるので、この用途は最近 Redis が多い気もします。


ぱっと浮かぶのはそんな感じでしょうか?


2013年8月1日 23:27 永田真也 <shin.nag...@gmail.com>:

> はじめまして。
> 永田と申します。
>
> Node.js+Socket.IOで通知機能を開発中です。
> Node.jsでHTTPサーバを立ててPUSH通知の送受信ができることは確認しておりますが、
> 既存のPHPサイトがあり、
> Node.jsでのPUSH通知機能を埋め込みたいのですが、
> どういった方法で実現可能かご教示頂けば幸いです。
> iframeを使う、Socket.IOのポーリングプロトコルを使う
> などを考えていますが、他に良案はありますでしょうか。
> よろしくお願いいたします。
>
> --
>
> ---
> このメールは Google グループのグループ「Node.js 日本ユーザグループ」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、nodejs_jp+unsubscr...@googlegroups.comにメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>
>

-- 

--- 
このメールは Google グループのグループ「Node.js 日本ユーザグループ」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、nodejs_jp+unsubscr...@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。


メールによる返信