码迷,mamicode.com
首页 > 其他好文 > 详细

socket.io带中文时客户端无法响应

时间:2017-06-01 13:07:42      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:soc   npm   pre   code   领域   demo   情况   alt   class   

记录坑了自己1个多小时的问题。

情况是:

服务端代码:

var a = {username: new Date()};
socket.emit(‘updatePositionInfo‘,a);

 

前端代码:
socket.on(‘updatePositionInfo‘, function (data) {
console.log(data);

 


console.log 结果:技术分享

上面是正常结果,如果将username 的值换成中文:
var a = {username: "大哥"};
socket.emit(‘updatePositionInfo‘,a);

前端代码不变。

console.log 结果:技术分享 空白,断点调试发现前端并没有接收到“updatePositionInfo”事件。
 
百思不得其解,socketio之前两个项目都用的很顺,为什么这次随便写个demo反而出了错,经过一个多小时的折磨,最后想到是不是前端js文件太旧的原因导致,因为博主是直接拷贝的上一个项目的js文件,于是去官网下载了最新的socket.io.js前端引入文件。
 
结果,成功!
 
总结:这个demo的服务端socketio是用 ‘Npm install socket.io‘ 下载的最新版本,而前端引入的socket.io文件是2016年的版本,导致不匹配,中文传输出错,全部换成最新版本即可。socket.io在node中是特殊的一种包,分为服务端和客户端两个不同的领域,建立websocket,另外还有一个服务端中的客户端“socket.io-client”包。

socket.io带中文时客户端无法响应

标签:soc   npm   pre   code   领域   demo   情况   alt   class   

原文地址:http://www.cnblogs.com/yourstars/p/6928178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!