(beforeEncode.length()/3)*4
2、如果beforeEncode.length()不是3的整数倍,那么长度为
(beforeEncode.length()/3+1)*4
上述base64编码的想法受限了,请教了乐鑫原厂大佬,同时也查询了LWIP突破MTU限制的方法,网上均没有好的解决方法,于是最近研究了一下LWIP内部相关的概念之后,直接咨询乐鑫原厂当前SDK Master分支是否支持IP层分片重组。原厂给的建议是分片最好在应用层处理,以防丢包;IP层分片重组配置方法见下文(issues/596)。
2. esp8266 IP层分片重组的配置方法
刚开始按照乐鑫给的方法配置之后测试,根本没有作用。又看了下lwip可配置的选项,正确的方法如下:
-
切换到工程路径 -> make menuconfig -> Component config -> LWIP -> 选中Enable fragment outgoing IP packets和紧挨的一个选项
-
更改TCP/IP Task Stack Size为4096(为了防止协议栈跑飞)。如下图
-
请使用最新的Master分支编译测试,久一丢丢的版本中打开IP分片重组不稳定!