问题描述:
TCPCLIENT模式使用WCHNET_SocketSend发送有概率会返回0x11
按wchnet.h定义为内存溢出错误。
异常分析:
通过WCHNET_QueryUnack查看,发现异常时发送队列或缓冲区已经占满,导致再次发送时报发送内存溢出错误。
解决方法:
- 如果项目对RAM需求不大,可适当将WCHNET_NUM_TCP_SEG改大,建议大于WCHNET_NUM_TCP*5,默认为WCHNET_NUM_TCP*2
2.如果项目对RAM需求比较大,对RAM资源比较敏感,不建议改动WCHNET_NUM_TCP_SEG,建议在执行发送前判断一下WCHNET_QueryUnack的返回值是否小于WCHNET_NUM_TCP_SEG,如果小于WCHNET_NUM_TCP_SEG再执行发送即可。
标签:发送,SocketSend,RAM,0x11,SEG,NUM,TCP,WCHNET From: https://www.cnblogs.com/llidd/p/18309429