客户端使用以下方法连接到我的服务器...
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")
的引用。
答案 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();