Socket.io 不断尝试建立连接

Socket.io keeps trying to establish a connection

客户端正在使用以下方式连接到我的服务器...

var socket = io.connect('http://localhost:52805');

在服务器上,我正在使用...

建立此连接
// Establish a connection with a WebSocket.
io.on("connection", socket => {

  console.log("Socket Connection");

  ...

现在,如果我检查服务器端的控制台,我会在控制台中定期收到以下信息...

Socket Connection
Socket Connection
Socket Connection
Socket Connection
...

它一直打印出 套接字连接,即使我没有刷新客户端。

这是什么原因造成的,这正常吗?如果没有,我该怎么做才能防止这种情况发生?客户端一直轮询服务器是否正常?

编辑

作为额外说明,我使用 Socket.io 作为带有 Hapi.js 的插件...

const sockets = require("./src/Playlist/index");


// Define the server.
const server = new Hapi.Server({ 
  port: process.env.PORT, 
  routes: { 
    cors: true 
  } 
});

// Socket.io plugin.
await server.register(sockets);

// Start the server.
await server.start();

其中sockets只是对上面提到的io.on("connection")的引用。

你试过用 server.listener 初始化 io 吗:

const Hapi = require('hapi');
const server = new Hapi.Server();
const io = require('socket.io')(server.listener); // <--- THIS

...


io.on('connection', function (socket) {
    ...
});

...

server.start();

参见:http://matt-harrison.com/using-hapi-js-with-socket-io/