2017-08-28 63 views
0

简单的问题,socket.emit()会自动将您发送的对象串起来吗?socket.emit()是否自动串化?

如果没有,那么我不需要Math.floor某些数字来缩短字符串。

这里是我的node.js代码:

var express = require('express'); //FOR LOCALHOSTING! 
var Victor = require('victor'); 

var app = express(); 

var server = app.listen(process.env.PORT || 3000, listen); 

function listen() { 
    var host = server.address().address; 
    var port = server.address().port; 
    console.log("server is up"); 
} 

app.use(express.static('public')); 

var io = require('socket.io')(server); 
+0

是的,它会连载和deserialise您发送的所有数据,虽然不一定使用'的toString()'。 – Bergi

回答

0

socket.emit实际上任何形式的你把它传递数据所以,如果你传递一个字符串你得到一个字符串,或者如果你传递一个对象你会得到一个对象:

从主文档网站: https://socket.io/docs/

socket.emit('a message', { 
     that: 'only' 
     , '/chat': 'will get' 
    }); 

从socket.io小抄:

https://socket.io/docs/emit-cheatsheet/

socket.emit('hello', 'can you hear me?', 1, 2, 'abc');