Socket.IO发出未发送

时间:2019-03-02 22:28:07

标签: javascript node.js socket.io game-development

我目前正在使用Socket.IO和Javascript构建游戏。我本来想制作一款实时多人游戏,但是我很快遇到了一个问题。我最终放弃了,转而玩回合制游戏,但是问题仍然没有消失。

问题在于服务器(app.js)没有从客户端(game.js)发出辐射。我试过重新创建项目console.log,并搜索google都无济于事。

App.js

require('./Database');

var express = require('express');
var app = express();
var serv = require('http').Server(app);

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/client/index.html');
});
app.use('/client', express.static(__dirname + '/client'));
serv.listen(process.env.PORT || 2000);
console.log("Server started.");

var SOCKET_LIST = {};


var io = require('socket.io')(serv, {});
io.sockets.on('connection', function(socket) {
    socket.id = Math.random();
    SOCKET_LIST[socket.id] = socket;

    socket.on('signIn', function(data) {  // {username,password}

        Database.isValidPassword(data, function(res) {
            if (!res)
                return socket.emit('signInResponse', { success: false });
            Database.getPlayerProgress(data.username, function (progress) {


                socket.emit('signInResponse', {
                    success: true, username: data.username,
                    progress: progress
                });
            })
        });
    });
    socket.on('signUp', function(data) {

        Database.isUsernameTaken(data, function(res) {
            if (res) {
                socket.emit('signUpResponse', { success: false });
            } else {
                Database.addUser(data, function() {
                    socket.emit('signUpResponse', { success: true });
                });
            }
        });
    });


    socket.on('disconnect', function() {
        delete SOCKET_LIST[socket.id];

    });
    socket.on("findMatch", function(data) {
        console.log('test');  // ******* Not working ********

    });

});

Game.js

var socket = io("127.0.0.1:2000");

function findMatch(data) {
    socket.emit("findMatch", { socket: socket });
}
从大厅的“查找匹配”按钮调用

FindMatch()。它已连接到onclick侦听器。

谢谢。我将不胜感激。

编辑:连接,登录,注册和断开连接仅在以后添加的自定义项(例如,findMatch)不起作用时起作用

0 个答案:

没有答案