この問題の説明が難しいので、関連性の高い用語が分かっていれば編集してください。リアルタイムWebアプリケーションのサーバーレスポンスのコンテキストを扱う
私は本質的にRedis(PubSub)+ Node.js + Socket.IOを配布サーバとして使用するWebアプリケーションを構築しています。
私は問題なく動作する双方向通信を持っていますが、クライアントから(非同期的に)要求を行い、応答を処理できる必要があります。それ。
これは私がこれまで持っているものですが、私はこのアプローチには特に満足していない:
サーバー
// Lots of other code
redis.psubscribe('*');
redis.on("pmessage", function(pattern, channel, message) {
// broadcast
});
io.on('connection', function(client) {
client.on('message', function(message) {
switch(message.method) {
// call relevant function
}
});
});
function object_exists(object_id) {
// do stuff to check object exists
client.send({method: 'object_exists', value: object_exists});
}
クライアント
var call = Array();
$(document).ready(function() {
socket.connect();
socket.on("message", function(obj){
console.log(obj);
call[obj.method](obj.value);
});
});
function object_exists(object_id) {
socket.send({method: 'object_exists', value: object_id});
// Set a function to be called when the next server message with the 'object_exists' method is received.
call['object_exists'] = function(value) {
if(value) {
// object does exist
}
}
}
TL; DR :サーバーに何か「質問」して、Socket.IOを使って応答を処理する必要があります。
ありがとう、これは基本的にどのように私はそれをやった。 – Tom
はい、申し訳ありませんが、これは私がそれに答えるまでは古い質問であることが分かりませんでした。 – jslatts