Socket.io 连接被拒绝

时间:2021-03-06 06:39:26

标签: node.js sockets web socket.io

我目前正在使用 WebSockets 开发一个简单的游戏(第一次!)。但是,我的控制台充满了 net::ERR_CONNECTION_REFUSED 错误,我无法进行任何操作。

几个小时以来,我一直在尝试修复错误,并在网上看到了一些其他类似问题的问题,但到目前为止没有任何效果。

这是我的代码:

server.js

const { createGameState, gameLoop } = require("./game")
const { FRAME_RATE } = require("./constants")

const io = require("socket.io")(httpServer, {
  cors: {
    origin: "http://localhost:3000",
    methods: ["GET", "POST"]
  }
});

io.on("connection", client => {
  const state = createGameState()

  startGameInterval(client, state)
});

function startGameInterval(client, state) {
  const intervalId = setInterval(() => {
      const winner = gameLoop(state);
      console.log("interval");

      if(!winner) {
        client.emit("gameOver");
        clearInterval(intervalId);
      } else {
        client.emit("gameover");
        clearInterval(intervalId);
      }
  }, 1000 / FRAME_RATE); // 1000
}

io.listen(3000);

index.js(顶部):

const backgroundColor = "#1c1315";
const snakeColor = "#7d7778";
const foodColor = "#f55872";

const socket = io("http://localhost:3000")

socket.on("init", handleInit());
// socket.on("gamestate", handleGameState());

const gameScreen = document.getElementById("gameScreen");

let canvas, ctx;

const gameState = {
  player: {
    pos: {
      x: 3,
      y: 10,
    },
    vel: {
      x: 1,
      y: 0,
    },
    snake: [
      {x: 1, y: 10},
      {x: 2, y: 10},
      {x: 3, y: 10},
    ]
  },
  food: {
    x: 7,
    y: 7,
  },
  gridsize: 20,
};

这是我得到的错误;它每 5 秒左右在控制台中打印一次。 polling-xhr.js:206 GET http://localhost:3000/socket.io/?EIO=4&transport=polling&t=NW6GI07 net::ERR_CONNECTION_REFUSED

总的来说,我对 socket.io/websockets 很陌生,所以我不知道这个错误意味着什么,或者我可以做些什么来解决这个问题。任何帮助将不胜感激!

0 个答案:

没有答案