调用的是同一个方法,但在服务端有时候就会收到乱码,有时候正常。但是就是因为乱码问题,导致解析json会解析不出来,进而导致服务端程序的一些处理逻辑出现问题,这是什么原因呢?
正常的数据:
不正常的数据:
小程序代码:
1楼的问题解决了吗?
我也遇到类似问题,再贴一次:
在使用websocket发送jason数据时,打印的日志中jason数据是完整的。但服务器收到的jason数据在最后几个字节却是乱码导致解析失败。用JMeter压测工具测试服务器发送同样的数据一致运行良好。不知是不是微信小程序的websocket实现在发送用户数据的时候进行了什么过滤或编码?
微信小程序端:
wx.sendSocketMessage({
data:msg
});
console.log('msg sent: ' + msg);//这里的信息是正常的
显示:{"TerminalType":2,"TerminalId":0,"TimeStamp":0,"RequestedTerminalId":1,"DataType":1}
服务器端(使用了rapidjson1.1.0):
服务器开始的时候正常,收几个包后就异常,接收的数据长度是对的,但信息却成了:
pay_load:{"TerminalType":2,"TerminalId":0,"TimeStamp":0,"RequestedTerminalId":1Bm▒D.▒\*▒_2