记录坑了自己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带中文时客户端无法响应的更多相关文章

  1. 使用socket.io client 开发时兼容IE低版本的办法

    使用socket.io client 开发时兼容IE低版本的办法 socket.io提供了针对各个版本浏览器的‘socket’功能的封转:websocket,长连接,流,flash什么的.给你格式化下 ...

  2. Android webView 中loadData方法加载 带中文时出现乱码

    WebView出现乱码用LoadData方法来解析html的,但是据说这是官方的一个BUG,不能用来解析中文. 采用loadDataWithBaseURL的方法,其中codeingType设置为utf ...

  3. Practical Node.js (2018版) 第9章: 使用WebSocket建立实时程序,原生的WebSocket使用介绍,Socket.IO的基本使用介绍。

    Real-Time Apps with WebSocket, Socket.IO, and DerbyJS 实时程序的使用变得越来越广泛,如传统的交易,游戏,社交,开发工具DevOps tools, ...

  4. [Node.js] 基于Socket.IO 的私聊

    原文地址:http://www.moye.me/2015/01/02/node_socket-io/ 引子 最近听到这么一个问题:Socket.IO 怎么实现私聊?换个提法:怎么定位到人(端),或者说 ...

  5. 在线白板,基于socket.io的多人在线协作工具

    首发:个人博客,更新&纠错&回复 是昨天这篇博文留的尾巴,socket.io库的使用练习,成品地址在这里. 代码已经上传到github,传送门.可以开俩浏览器看效果. 现实意义是俩人在 ...

  6. 我的学习笔记之node----node.js+socket.io实时聊天(1) (谨此纪念博客开篇)

    本想着从hello word开篇,也确实写了相关学习笔记.各种原因吧,现在又着急写出作品,便作罢. 这里将记录一个node.js+socket.io的实时聊天程序.(当然我也是跟着网上各种教程资料学习 ...

  7. socket.io 入门篇(二)

    本文原文地址:https://www.limitcode.com/detail/5922f1ccb1d4fe074099d9cd.html 前言 上篇我们介绍了 socket.io 基本使用方法,本篇 ...

  8. socket.io 入门篇(一)

    本文原文地址:https://www.limitcode.com/detail/591b114bb1d4fe074099d9c9.html 前言 本篇介绍使用node.js模块组件socket.io实 ...

  9. 使用express、react、webpack打包、socket.io、mongodb、ant.design、less、es6实现聊天室

    拿到一个项目,我们应该如何去完成这个项目呢. 是直接上手? 还是先进行分析,然后再去解决呢?毫无疑问,如果直接上手解决,那么可能会因为知道目标所在,而导致出现各种问题. 所以,我们应该系统的分析这个项 ...

随机推荐

  1. HDU 4557

    http://acm.hdu.edu.cn/showproblem.php?pid=4557 解决一类问题的set用法 #include <iostream> #include <c ...

  2. 大家一起做训练 第二场 E Cottage Village

    题目来源:CodeForce #15 A 现在有 n 间正方形的房子,其中心点分布在 X轴 上,现在我需要新建一间边长为 t 的房子,要求新房子至少和一间房子相邻,但是不能和其他房子重合.请输出我有多 ...

  3. k8s dockerk个人学习(1)

    虚拟机部署k8s 1. 创建虚拟机 虚拟机用的是virtualBox和vagrant工具,百度安装virtualBox和vagrant 创建vagrant目录并创建文件Vagrantfile内容为 V ...

  4. NoSQLUnit

    NoSQLUnit Core Overview Unit testing is a method by which the smallest testable part of an applicati ...

  5. Nginx 安装成Windows 服务方法

    1. 下载nginx windows版本 http://www.nginx.org 2. 下载微软的2个工具: instsrv.exe.srvany.exe 去微软网站下载安装Windows Serv ...

  6. Oracle 11gR2 RAC 新特性说明

    最近接触了一下Oracle 11g R2 的RAC,发现变化很大. 所以在自己动手做实验之前还是先研究下它的新特性比较好. 一.    官网介绍 先看一下Oracle 的官网文档里对RAC 新特性的一 ...

  7. 服务检测sh脚本

    如mysql cat check_mysql.sh #!/bin/bash servicename="mysqld"showname="mysql" pid=& ...

  8. git 不能拉取时,检查是不是被杀毒软件给干掉了

    我这儿是 \Git\bin\sh.exe 被干掉了. 添加排除,并从隔离区中还原.

  9. Qt常用类及类方法简介之 QAction类

    1.QAction::QAction ( const QString & text, QObject * parent )    QAction类的构造函数之一,利用text,parent创建 ...

  10. wxWidgets:前景色与背景色

    wxWidgets中有多个函数可以用来设定前景色和背景色,下面就来看看他们的用法区别: wxWindow::SetBackgroundColour(const wxColour &) 在你重绘 ...