PHP ベースのフォーラムにライブ機能を追加したいと考えています。新しい投稿は、作成されるとすぐにユーザーに自動的に表示されます。
私が少し混乱しているのは、PHP コードと NodeJS+socket.io の間の相互作用です。
新しい投稿についてNodeJSサーバーに通知し、投稿が投稿されたスレッドを見ているクライアントにサーバーに通知させるにはどうすればよいですか?
編集
次のコードを試してみましたが、うまくいくようです。私の唯一の質問は、これが良い解決策と見なされるかどうかです。
私は socket.io を使用してポート 81 でクライアントをリッスンし、ポート 82 で実行されているサーバーはフォーラムでのみ使用されることを意図しています。新しい投稿が作成されると、PHP スクリプトがポート 82 で localhost に POST 要求を送信します。データと共に。
これでよろしいですか?
var io = require('socket.io').listen(81);
io.sockets.on('connection', function(socket) {
socket.on('init', function(threadid) {
socket.join(threadid);
});
});
var forumserver = require('http').createServer(function(req, res) {
if (res.socket.remoteAddress == '127.0.0.1' && req.method == 'POST') {
req.on('data', function(chunk) {
data = JSON.parse(chunk.toString());
io.sockets.in(data.threadid).emit('new-post', data.content);
});
}
res.end();
}).listen(82);