Socket.io一直尝试建立连接

时间:2018-12-06 00:46:03

标签: javascript node.js socket.io hapijs

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

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")的引用。

1 个答案:

答案 0 :(得分:1)

您是否尝试过像这样用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/