0

socket.io 接続で大量のデータを送信する際に問題が発生していると思います。私は RabbitMQ 交換にサブスクライブし、リアルタイムでグラフを作成するためにデータ メッセージをクライアントに送信しています。

q.subscribe({routingKeyInPayload:true},function (message) {
  socket.emit('message', {
    key: message._routingKey,
    //msg: decodeURIComponent(message.data),
    client: qName,
    ts: new Date()
  });
  console.log('broadcasting: ' + message._routingKey);
});

「msg」がコメントアウトされていることがわかります。これをコメントアウトすると、1 秒あたり最大 100 ~ 200 件のメッセージを送信できます (最大 800 件 / 秒)。ただし、JSON データに「msg」が含まれていると、次のエラーが発生します。

events.js:72
    throw er; // Unhandled 'error' event

エラーが実際に何であるか、またはそれを処理する方法がわかりません。アドバイスをいただければ幸いです。

編集: 典型的なメッセージは次のようになります (念のため、ユーザー ID をサニタイズしました):

{"key":"message.1","client":"7raQ6vpCO-PZ5ZTWQVD9","ts":"2013-09-12T22:19:06.677Z"}]}
{"fromuserid": 62XXXX34, "deleted": 0, "messagetype": 1, "datetime": 1379024283000, "touserid": 12XXXX41, "message": "Bored lol, really bored lol", "id": 27963323859}
4

0 に答える 0