ノードに関することは、すべてのモジュールがあります。すべての場合、「初期コミット」があり、おそらくgithubにあります。この場合、クライアント側からサーバーに要求する、つまりRPC呼び出しを行うすべてのアプリケーションの一部です。この場合の基本的な転送方法はajaxです。現代のブラウザの中にはウェブソケットがあります。クライアント側では
:サーバー側の
var request.ajax('/ajax/setLolz', {data : 'nice', type : 'post'})
request.done(function(msg) {
$("#lolz").html(msg);
});
:AJAXについては、これはあなたが欲しいものを作ることができる最も簡単な方法です
var url = reruire('url')
var http = require('http');
var lolz = 'wow';
var methods = {
'/ajax/setLolz' : function (action, body, res) {
res.end(lolz);
lolz = body;
someOtherFunction();
}
}
http.createServer(function (req, res) {
var body = '';
var action = url.parse(req.url);
req.on('body', function(text) {
body += text;
}
req.on('end', function() {
methods[action.path](action, body, res);
}
}).listen(1337, '127.0.0.1');
これは単純なAJAXました。あなたはconnectを使用して、それが少し良く作る:
var connect = require('connect');
var app = connect()
.use(connect.bodyParser())
.use(function(req, res){
var action = url.parse(req.url);
methods[action.path](action, body, res);
})
.listen(1337);
以上expressと単純:
var app = require('express');
var app = express.createServer()
.use(express.bodyParser());
app.get('/ajax/setLolz', function(req, res){
res.end(lolz);
lolz = req.body;
someOtherFunction();
});
app.listen(1337);
そして、ええ、そこにあなたを助けることができるmodulesの多くは。
ウェブソケットとしては、私が知っている中で最も速いウェブソケットサーバはwsです。ブラウザによってはサポートしていないものもあります。クライアント側では
:サーバー上
websocket = new WebSocket('ws://www.host.com/ws');
websocket.onopen = function(evt) {
websocket.send(JSON.stringify({method : 'setLolz', msg : 'yes '};
};
websocket.onmessag = function(evt) {
$("#lolz").html(evt.data);
}
:
var WebSocket = require('ws');
var ws = new WebSocket('ws://www.host.com/ws');
var methods = {
'setLolz' : function (msg, ws) {
ws.send(lolz);
lolz = msg;
someOtherFunction();
}
}
ws.on('message', function(data, flags) {
data = JSON.parse(data);
methods[data.method](data.msg);
});
はその後socket.ioは物事がはるかに簡単になりますこと、あります。クロスブラウザーでどこからでも使えます。 ajaxとwebsocketと他の方法で構築されています。イベントにすべてをパッチします。同じポートでリッスンしているhttpサーバーの横に使用することもできます。
var io = require('socket.io').listen(1337);
io.sockets.on('connection', function (socket) {
socket.on('setLolz', function(data) {
socket.emit('lolz', lolz);
lolz = data;
});
socket.on('setLolz', someOtherFunction);// Yes, you can listen to an event with two functions
});
しかし、まだ、それは十分に簡単ではないのですが、今私は、nowjsを紹介します。サーバー側では
now.setLolz(function(data){
$("#lolz").html(data);
});
:ブラウザ上で
var nowjs = require("now");
var app = nowjs.initialize(httpServer);
app.now.setLolz = function(cb){
cb(lolz);
lolz = data;
someOtherFunction();
}
私は深くに行きたくない、私はあなたが要点を得たいと考えています。あなたを助ける他のモジュール(dnode、hook.io、flatiron、railwayjs、racer、locomotivejs、...)もあります。そして、はい、あなたはいつでもあなた自身を作ることができます。
ハッピーコーディング...:D
ありがとう!私が必要とするもののように見えます! –
クール!答えを良いものとしてマーク:-) –
お待ちください!とにかく、あなたが質問を投稿してからそれを受け入れることができる時間に制限があります。しかし、もちろん、あなたのための緑のダニがあります! –