最近使用mjsip发送message发现发送英文可以正常但是发送中文就出问题了,由于发送内容是json,由于有问题导致json格式数据不完整,具体问题如图所示
非正常的发送报文
正常的发送报文
可以对比下其实是后面的内容少了一些。
后来发送mjsip在拼装header的content length的时候是按照中文格式的字符长度来拼装的,例如说 发送字符串为 “你好”,但是这个内容由于是中文故此生成的header中的content length为 2,但是发送过去的报文由于经过了转换之后获取2个长度body的内容,估计导致body内容不完整(以上个人理解,如有错误请指正)
在BaseMessage中的实现
后来程序里面人为干预这个长度值发现发送的时候直接提示 BAD REQUEST,
最终发送中文的时候扩展一下了他的长度解决了 例如发送“你好”其实发送的内容是“你好 ”。。。
如有更好一些的解决方案请指教下谢谢。