Closed fjqisba closed 2 years ago
我定义的包格式是四字节--包类型 + 四字节--数据长度 + 数据。
session->setDataCallback([session](brynet::base::BasePacketReader& reader) {
reader.useBigEndian();
while (true) {
if (!reader.enough(8)) {
break;
}
auto dataType = reader.readINT32();
auto dataLen = reader.readINT32();
if (!reader.enough(dataLen)) {
break;
}
onServerNewMsg(session, dataLen, reader.currentBuffer(), dataLen);
reader.addPos(dataLen);
reader.savePos();
}
});
不知道这样能不能解决吧。。。
好像修改最大接受缓冲区大小WithMaxRecvBufferSize(1024 * 100)就行了
好像修改最大接受缓冲区大小WithMaxRecvBufferSize(1024 * 100)就行了
是的。这是接收缓冲区的最大长度。
服务端回调函数中一次只能接受到1024个字节。。。这种情况需要怎么解决? 我想一次性接受全部的数据,在回调函数中处理。