我在具有基本HTTP服务器(没有Express或Connect或类似的东西)的Node服务器上使用Socket.IO。默认情况下,Socket.IO将客户端文件提供给
/socket.io/socket.io.js
我希望能够将该基本路径更改为其他内容,例如
/foo/bar/socket.io/socket.io.js
是否有任何内置方法来执行此操作,或者是否有任何不更改Socket.IO代码的方法?我认为答案就在Static模块(require('socket.io').Static))中,但是由于没有编写自己的代码来替换默认值,因此我看不到要改变其行为方式的任何方法。
Static
require('socket.io').Static)
我怎样才能做到这一点?
该resource选项允许您配置socket.io的根目录。默认为/socket.io。
resource
/socket.io
var io = require('socket.io').listen(app, { resource: '/foo/bar/socket.io' });
请注意,此设置还影响从何处提供socket.io端点,因此 您还必须在客户端代码中更改此设置 。
var socket = io.connect('http://example.com', { resource: 'foo/bar/socket.io' });
(请注意,出于某些原因,我们此处不使用斜杠。)