如何使socket.io仅在本地主机上监听

时间:2020-10-11 10:50:13

标签: javascript node.js websocket socket.io

ws服务器的这种实现方式使其只能在localhost上侦听。

const WebSocket = require('ws');
const wss = new WebSocket.Server({port: 3000, host: '127.0.0.1'});

运行netstat:

C:\WINDOWS\system32>netstat -ab

Active Connections

TCP    127.0.0.1:3000         DESKTOP-8G5DHM9:0      LISTENING [node.exe]
....

如何使用socket.io实现此目标?

我已经尝试过了,但是没有用:

const allowedOrigins = 'http://localhost:80 http://127.0.0.1:80';
const options = { 
   origins: allowedOrigins
   };
const io = require('socket.io')(3000, options);

netstat输出:

C:\WINDOWS\system32>netstat -ab

Active Connections

TCP    0.0.0.0:3000         DESKTOP-8G5DHM9:0      LISTENING [node.exe]
....

1 个答案:

答案 0 :(得分:0)

我通过以下方法发现了它:

const server = require('http').createServer();
const io = require('socket.io')(server);
server.listen(3000, 'localhost');