小程序
小游戏
企业微信
微信支付
扫描小程序码分享
调用的是同一个方法,但在服务端有时候就会收到乱码,有时候正常。但是就是因为乱码问题,导致解析json会解析不出来,进而导致服务端程序的一些处理逻辑出现问题,这是什么原因呢?
正常的数据:
不正常的数据:
小程序代码:
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
楼主解决了吗?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
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
是否跟你发送的数据编码有关系?
做一个有关麻将计分和排名的小程序,在计算胡牌过程中需要其他玩家确认,所以要用到websocket。玩牌的场景是线下的,胡牌的计算是通过小程序,而且有一套很复杂的规则
你们是做什么的
我谨慎怀疑是不是sendSocketMessage内部没有对这些数据对象本身进行初始化,才导致json格式的字符串后面跟随了一堆不知所云的乱码?
快来人啊。。。。这个坑很要命啊。
我在浏览器上用javascript模拟websocket发送数据都是没有问题的。所以肯定不是服务端的问题。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
楼主解决了吗?
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
是否跟你发送的数据编码有关系?
做一个有关麻将计分和排名的小程序,在计算胡牌过程中需要其他玩家确认,所以要用到websocket。玩牌的场景是线下的,胡牌的计算是通过小程序,而且有一套很复杂的规则
你们是做什么的
我谨慎怀疑是不是sendSocketMessage内部没有对这些数据对象本身进行初始化,才导致json格式的字符串后面跟随了一堆不知所云的乱码?
快来人啊。。。。这个坑很要命啊。
我在浏览器上用javascript模拟websocket发送数据都是没有问题的。所以肯定不是服务端的问题。