我正在尝试为服务器设置登录系统,但是socket.emit函数似乎无法正常工作。我正在使用socket.io进行表达。
我确保没有错误,根据我用作服务器控制台的Chrome开发人员标签或命令提示符,没有错误。
var io = require('socket.io')(serv, {});
var socket = io();
socket.on('signIn', function (data) {
console.log('Sign In Request')
});
// client
signInButton.onclick = function () {
socket.emit('signIn', {
username: signInUsername.value,
password: signInPassword.value
});
当我单击按钮时,没有任何内容记录到控制台。
我希望在单击按钮(signInButton)时将消息“登录请求”记录到控制台。它们都是已定义的,我不知道为什么没有。
答案 0 :(得分:0)
在编写服务器端套接字事件处理时,需要在检测到特定套接字对象的连接后与其进行交互。像这样:
// server
const SocketIO = require('socket.io');
const io = SocketIO(serv);
io.on('connection', (socket) => {
socket.on('signIn', (obj) => {
// obj.username / obj.password
});
});