1

したがって、次のnode.jsコードがあります-

var http = require('http');

var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World! \n");
  response.end(");
}).listen(8125);

接続されているすべてのユーザーにメッセージをブロードキャストしたいとしましょう 。関数内のwriteメソッドはそれを行いません。responsecreateServer

では、接続されているすべてのユーザー/クライアントにメッセージをブロードキャストするにはどうすればよいでしょうか?

純粋なNode.jsでそれを行う方法はありますか? 私は今それを学んでいるので、今のところ純粋なnode.jsを使用することを好みます..

4

1 に答える 1

3

これらは HTTP リクエストであるため、不可能です。HTTP 要求は最初の接続で開始され、すべてのデータが送信されると終了します。

あなたの場合、データは

response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World! \n");

そして、接続が終了します

response.end(");

ライブ接続を維持するものを探している場合は、これらをご覧ください。

socket.io - すべてのプラットフォームをサポートし、古いソフトウェアにフォールバックするリアルタイム トランスポート ライブラリ。
WebSocket-Node - クライアントとサーバーの WebSocket 実装。
Faye - Bayeux プロトコルを使用するパブリッシュ/サブスクライブ メッセージング システム。

私は使用socket.ioしただけで、これがブロードキャストの方法です。

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.broadcast.emit('user connected');
});
于 2013-02-17T02:27:52.797 に答える