设置socket.io的属性传输和路径

时间:2017-10-17 17:45:46

标签: javascript websocket socket.io

我试图通过socket.io库创建与后端的套接字连接 事情是 - 我需要关闭长轮询选项并设置自定义路径。但是我无法设置它们,因为它总是只有一个选项 所以,如果我这样做,我设置的是path,而不是transports

this.socket = io(
  'wss://some-url.com',
  { path: '/v1/url/to/websockets' },
  { transports: [ 'websocket' ] }
);

图书馆正在尝试进行长轮询连接,该连接将被服务器拒绝(我无法访问),但路径是正确的。
但是,如果我尝试更改顺序并首先设置transports属性,则库将省略path属性,而前端会将请求发送到wss://some-url.com/socket.io/?EIO=3&transport=websocket
网址,这是不正确的 我理解这是一些冲突,因为transport属性更改了URL(它将自己设置为查询参数),但我不明白 - 我如何设置路径和传输属性因为我需要他们这么糟糕。
没有在官方文档和此处找到解决方案。
有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的synatx错误,语法正确

 this.socket = io(
                 'wss://some-url.com', 
                 { 
                    path :'/v1/url/to/websockets', 
                    transports: ['websocket']
                 });

即。两者都应该在同一个对象中