2

私はnode.jsとsocket.ioが初めてです

2 つのクライアントがあり、ID は 1 と 2 です。user_from、user_to、action を含むデータを socket.io 経由で送信する必要があります。

データは両側から送信されます。

variable:data を設定できるように、socket.emit() を使用してクライアント 1 からこのデータを送信するにはどうすればよいですか?

socket.get を使用してサーバー上のそのデータを読み取る方法は?

サーバーからクライアント2に再度送信しますか?(私はこのコードを見つけました: io.sockets.volatile.emit( 'broadcast_msg' , msg ); しかし、すべてのユーザーが接続しているわけではなく、特定のユーザーから特定のユーザーにのみ送信したい.)

助けてくれてありがとう、私はたくさんの例を見ていますが、私が必要としているものではありません.

アップデート:

このコードがわかりません:

// on server started we can load our client.html page
function handler(req, res) {
  fs.readFile(__dirname + '/client.html', function(err, data) {
    if(err) {
      console.log(err);
      res.writeHead(500);
      return res.end('Error loading client.html');
    }
    res.writeHead(200);
    res.end(data);
  });
}

なぜこれを行う必要があるのですか?私は例を持っています: index.php?menu=30 または index.php?menu=30&action=12

4

1 に答える 1

1

ルーティング機能を探しています。socket.io が提供するのは、ポイントツーポイント通信です。たとえば、1 つのクライアントからサーバーへ。

したがって、論理的には、メッセージをルーティングするにはサーバーが必要です。つまり、メッセージにはアドレス指定情報 (ターゲット受信者の ID など) が必要です。これは、たとえば、受信メッセージのターゲット ユーザーに基づいてトリガーされる (カスタム) ユーザー固有のイベントを作成することにより、メッセージをルーティングするために使用できます。

スケーリングが必要なものを構築している場合は、RabbitMQ のようなメッセージング フレームワークを検討する必要があります。これは、分散エンティティ (ユーザーなど) 間でメッセージをルーティングするためのものです。

乾杯!

于 2012-08-31T11:11:18.770 に答える