如何使用 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/