• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱

"behaviac: Couldn't reserve packet buffer, too many active threads.\n"

0 喜欢 0 不喜欢
177 浏览
在编辑器连接调试的时候,运行时端出现assert触发,Log("behaviac: Couldn't reserve packet buffer, too many active threads.\n").这种是在什么情况下引起的,怎么解决呢?
最新提问 7月 22, 2016 用户: qq_570762bf0f5de (450 分)
重新分类 8月 1, 2016 用户:jonygli

1个回答

0 喜欢 0 不喜欢
麻烦告知什么平台?版本号?
最新回答 7月 22, 2016 用户: jonygli (57,510 分)

image

连调的时候,每个线程都会有自己的buffer,这样子sendsocket消息的时候就可以避免互斥。

如上图,缺省的是预先分配128个线程的buffer。

你可以试着增加这个值,比如增加到256.

但是在增加之前,最好检查下你的线程数。难道真的会有那么多线程吗?

mac平台,版本号3.5.7最新版本。

按你提示的改成256还是出现同样的问题,我以前的版本可以连接调试的,今天升级版本后就不行了。编辑器是同步升级了的。

image

麻烦试下下面的版本:

https://github.com/TencentOpen/behaviac/blob/ac2e76afabca37ffaf53f6a89eac9e1a1fad87ad/src/base/core/socket/socketconnect_base.cpp

这个是老版本。确实是最近的一个改动。由于我这里没有网络环境测试mac下的问题,怀疑是这个文件的改动导致的。先回复到这个版本试下吧。希望能够反馈下结果。谢谢

好了,恢复老版本的这个文件就没问题了
...