2017-08-28 40 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');