[在此处输入图像描述][1]由于数组中有多个推送消息,我的套接字因传输关闭错误而断开连接
用户可以在发送第8条消息时发送6或7条消息,并将其推入我的阵列,插座连接断开
[enter image description here][2]
getMessage(): void {
this.chatService.getNewMessage().subscribe((value) => {
this.getNewMessage(value);
});
}
getNewMessage(value: Message): void {
value.idSender = value.userSender.id;
value.idReciever = value.userReceiver.id;
const us = this.users.find(val => {
return val.id === value.userSender.id
});
if (us) {
// there i push the message
us.messageConversation.push(value);
}
}
[1]: https://i.stack.imgur.com/wlAd5.png
[2]: https://i.stack.imgur.com/N5tCw.png
我刚刚意识到,我用socket.io从客户端(Angular(发送到服务器(NestJS(的对象非常大(69912个字符(,因此,多次发送重对象会导致套接字断开,原因是:transport close
。
这可能会有所帮助。获取JavaScript对象的大小(以字节为单位(。npm i 的对象大小
var sizeof = require('object-sizeof')
// 2B per character, 6 chars total => 12B
console.log(sizeof({abc: 'def'}))