我想我在通过 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}