MJSIP 发送中文问题

最近使用mjsip发送message发现发送英文可以正常但是发送中文就出问题了,由于发送内容是json,由于有问题导致json格式数据不完整,具体问题如图所示

非正常的发送报文


正常的发送报文


可以对比下其实是后面的内容少了一些。

后来发送mjsip在拼装header的content length的时候是按照中文格式的字符长度来拼装的,例如说 发送字符串为  “你好”,但是这个内容由于是中文故此生成的header中的content length为 2,但是发送过去的报文由于经过了转换之后获取2个长度body的内容,估计导致body内容不完整(以上个人理解,如有错误请指正)

在BaseMessage中的实现


后来程序里面人为干预这个长度值发现发送的时候直接提示 BAD REQUEST,

最终发送中文的时候扩展一下了他的长度解决了 例如发送“你好”其实发送的内容是“你好          ”。。。

如有更好一些的解决方案请指教下谢谢。

基于java语言的SIP实现。结构清晰。 mjsip_1.6 .........\changes.txt .........\classes .........\lib .........\...\COPYRIGHT.txt .........\...\license.txt .........\...\server.jar .........\...\sip.jar .........\...\ua.jar .........\make-HOW-TO.txt .........\Makefile .........\makefile-config .........\media .........\.....\local .........\.....\.....\media .........\.....\.....\.....\icon.gif .........\.....\.....\ua .........\.....\.....\..\call.gif .........\.....\.....\..\hangup.gif .........\.....\.....\..\off.wav .........\.....\.....\..\on.wav .........\.....\.....\..\ring.wav .........\mjsip.cfg.txt .........\README.txt .........\src .........\...\COPYRIGHT.txt .........\...\license.txt .........\...\local .........\...\.....\media .........\...\.....\.....\AudioClipPlayer.java .........\...\.....\.....\AudioClipPlayerListener.java .........\...\.....\.....\AudioInput.java .........\...\.....\.....\AudioOutput.java .........\...\.....\.....\AudioOutput.java.saved .........\...\.....\.....\AudioOutputStream.java .........\...\.....\.....\AudioReceiver.java .........\...\.....\.....\AudioSender.java .........\...\.....\.....\ExtendedPipedInputStream.java .........\...\.....\.....\ExtendedPipedOutputStream.java .........\...\.....\.....\G711.java .........\...\.....\.....\JMediaReceiver.java .........\...\.....\.....\JMediaReceiverListener.java .........\...\.....\.....\JMediaSender.java .........\...\.....\.....\JVisualReceiver.java .........\...\.....\.....\Mixer.java .........\...\.....\.....\MixerLine.java .........\...\.....\.....\RtpStreamReceiver.java .........\...\.....\.....\RtpStreamSender.java .........\...\.....\.....\RtpStreamTranslator.java .........\...\.....\.....\SplitterLine.java .........\...\.....\.....\ToneInputStream.java .........\...\.....\.....\UdpStreamReceiver.java .........\...\.....\.....\UdpStreamSender.java .........\...\.....\net .........\...\.....\...\KeepAliveSip.java .........\...\.....\...\KeepAliveUdp.java .........\...\.....\...\RtpFlow.java .........\...\.....\...\RtpInputFlow.java .........\...\.....\...\RtpOutputFlow.java .........\...\.....\...\RtpPacket.java .........\...\.....\...\RtpSocket.java .........\...\.....\...\UdpMultiRelay.java .........\...\.....\...\UdpRelay.java .........\...\.....\...\UdpRelayListener.java .........\...\.....\server .........\...\.....\......\AuthenticationServer.java .........\...\.....\......\AuthenticationServerImpl.java .........\...\.....\......\AuthenticationService.java .........\...\.....\......\AuthenticationServiceImpl.java .........\...\.....\......\CallLogger.java .........\...\.....\......\CallLoggerImpl.java .........\...\.....\......\DomainRoutingRule.java .........\...\.....\......\LocationService.java .........\...\.....\......\LocationServiceImpl.java .........\...\.....\......\PrefixRoutingRule.java .........\...\.....\......\Proxy.java .........\...\.....\......\Proxy.java.saved .........\...\.....\......\Redirect.java .........\...\.....\......\Registrar.java .........\...\.....\......\Repository.java .........\...\.....\......\RoutingRule.java .........\...\.....\......\ServerEngine.java .........\...\.....\......\ServerProfile.java .........\...\.....\......\StatefulProxy.java .........\...\.....\......\StatefulProxyState.java .........\...\.....\ua .........\...\.....\..\CommandLineMA.java .........\...\.....\..\CommandLinePA.java .........\...\.....\..\CommandLineUA.java .........\...\.....\..\GraphicalUA.java
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值