javascript - Socket.io 如何发送 JavaScript 对象

如何使用 Socket.io 从服务器向客户端发送 JavaScript 对象?我将 Socket.io 用作 WebSocket(使用 .send() 发送并使用 message 事件进行监听)。 当我尝试在服务器端做类似的事情时:

var myObject = {
    message: 'Hello World!'
}

socket.send(myObject);

在客户端我只得到这个字符串:[object Object]

最佳答案

您实际上需要发出一个事件:

 socket.emit('yourEvent', myObject);

如果您使用 .send(),您只是发送对象的字符串表示,这就是问题所在。请注意,您可以使用 .send(),但您必须先对对象进行 JSON 编码,然后在接收时对其进行解码。

除非您有特定原因,否则最好使用标准 Socket.IO .emit() 方法,因为它会为您完成所有这些工作。这就是它的用途。

https://stackoverflow.com/questions/11805130/

相关文章:

java - Spring 3.2 测试,com.jajway 不包含在依赖项中

json - 如何配置spring mvc 3在json响应中不返回 "null"对象?

json - 当我尝试 sudo gem install json 我收到以下错误

iphone - JSONKit解析json字符串

asp.net-mvc - ASP.NET MVC 读取原始 JSON 发布数据

xml - 如何在 JSON 中表达 XML 标记属性?

json - 使用 Grails 在服务器端获取 JSON 数据

javascript - 使用来自 JSON 数据的不同值,而不是使用 Typeahead 的 di

json - 如何在 Perl 中将简单的哈希转换为 json?

java - 带有 MVC 的 Spring 3 JSON