为什么socket.emit不从客户端向服务器发出包?

时间:2019-07-18 19:39:16

标签: javascript node.js socket.io

我正在尝试为服务器设置登录系统,但是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)时将消息“登录请求”记录到控制台。它们都是已定义的,我不知道为什么没有。

1 个答案:

答案 0 :(得分:0)

在编写服务器端套接字事件处理时,需要在检测到特定套接字对象的连接后与其进行交互。像这样:

// server
const SocketIO = require('socket.io');
const io = SocketIO(serv);

io.on('connection', (socket) => {
  socket.on('signIn', (obj) => {
    // obj.username / obj.password
  });
});