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”被注释掉了。当我对此发表评论时,我可以每秒发送约 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