【发布时间】:2017-10-13 19:18:52
【问题描述】:
我是 NodeJS 的新手,总是遇到同样的错误:
/var/www/html/helpdesk/node_modules/ent/encode.js:8 throw new TypeError('Expected a String'); ^
TypeError:应为字符串 在 Object.encode (/var/www/html/helpdesk/node_modules/ent/encode.js:8:15) 在套接字。 (/var/www/html/helpdesk/apps.js:32:22) 在 emitOne (events.js:96:13) 在 Socket.emit (events.js:191:7) 在 /var/www/html/helpdesk/node_modules/socket.io/lib/socket.js:503:12 在 _combinedTickCallback (内部/进程/next_tick.js:73:7) 在 process._tickCallback (internal/process/next_tick.js:104:9) /var/www/html/helpdesk/node_modules/ent/encode.js:8 throw new TypeError('Expected a String'); ^
如何处理?
var express = require('express');
var app = express();
var server = app.listen(3000);
var io = require('socket.io')(server);
var ent = require('ent');
var fs = require('fs');
io.on('connection', function(socket){
socket.emit('message', { content: 'Vous êtes bien connecté ! ', importance: '1' });
socket.on('message', function (message) {
/*console.log('Un client me parle ! Il me dit : ' + message);
console.log(socket.pseudo + ' me parle ! Il me dit : ' + message);
io.sockets.emit('message', { content: 'Vous êtes bien connecté ! '+
socket.pseudo, importance: '1' });*/
message = ent.encode(message);
io.sockets.emit('message', {pseudo: socket.pseudo, message: message});
});
socket.on('pseudo', function(pseudo) {
pseudo = ent.encode(pseudo);
socket.pseudo = pseudo;
});
socket.on('nouveau_client', function(pseudo) {
if(pseudo.length >= 1 && typeof pseudo=="string"){
pseudo = ent.encode(pseudo);
socket.pseudo = pseudo;
io.sockets.emit('nouveau_client', pseudo);
}
});
});
【问题讨论】:
-
传递一个字符串?放在这里你想做什么
-
您需要显示您的触发此异常的代码。
-
错误可能来自这一行 message = ent.encode(message); ` var ent = require('ent'); var fs = 需要('fs'); ...... socket.on('message', function (message) { message = ent.encode(message); io.sockets.emit('message', {伪:socket.pseudo,消息:消息});}); .....
标签: javascript node.js socket.io