已解决 - nodejs上的通信 - socket.emit未正确捕获socket.on
我目前遇到Node JS的问题,试图与会话身份验证进行非常简单的聊天。 认证正常,但socket.eon事件(客户端)未捕获到socket.emit事件(服务器端)。 这里的代码。 文件app.js:已解决 - nodejs上的通信 - socket.emit未正确捕获socket.on
app.get('/chat', [requireLogin], require('./lib/chat.js').chat(io));
,将文件lib/chat.js:
exports.chat = function(io){ return function(req,res) {
res.render('chat');
var ent = require('ent'); // same as htmlentities for PHP
io.sockets.on('connection', function (socket) {
var username = ent.encode(socket.handshake.username);
console.log('first_connection:'+username);
socket.emit('first_connection', username);
socket.on('connect_success', function() {
console.log('connect_success:'+username);
socket.broadcast.emit('join', username);
});
});
}
};
和客户端:
var sio = io.connect(), socket = sio.socket.of('/chat'); socket.on('first_connection', function (pseudo) {
console.log('first_connection is caught. Pseudo:'+pseudo);
document.title = pseudo + ' - ' + document.title;
socket.emit('connect_success');
});
我在客户端没有日志,即登录服务器端:
first_connection:Test debug - websocket writing 5:::{"name":"first_connection","args":["Test"]}
如果有人能帮助我?
由于提前,
[编辑]这里是IO插槽的声明,在我的app.js文件:
const express = require('express'),
path = require('path'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
fs = require('fs'),
connect = require('express/node_modules/connect'),
cookie = require('express/node_modules/cookie')
;
[编辑2] ,因为我已经小于10在声誉方面,我无法在接下来的8小时内回答我自己的问题。
我一步一步地回去,并重做相同,现在它运作良好。 我觉得我的问题来自安装一个模块,cookie,我忘了。
无论如何,谢谢! :)
回答:
好吧,我一步一步地回去,并重做相同,现在它运作良好! 我觉得我的问题来自安装一个模块,cookie,我忘了。
无论如何,谢谢! :)
以上是 已解决 - nodejs上的通信 - socket.emit未正确捕获socket.on 的全部内容, 来源链接: utcz.com/qa/267199.html