Javascript 可以强制Socket.io使用其Ajax回退吗?

Javascript 可以强制Socket.io使用其Ajax回退吗?,javascript,websocket,socket.io,Javascript,Websocket,Socket.io,我正在制作一个需要实时数据(几秒钟延迟就可以了)的Ionic应用程序,我想使用Ajax(带或不带长轮询),因为我可能没有资源使用WebSocket。但是,我想让它很容易升级到WebSocket。既然Socket.io使用Ajax作为后备,有没有办法强迫它使用Ajax?这样,如果我有资源,我就可以轻松升级到WebSocket 顺便说一句,服务器通常可以支持比WebSocket更多的使用Ajax的客户端,对吗?(假设每个Ajax请求5-10秒)。假设您的后端是node.js,var socket=r

我正在制作一个需要实时数据(几秒钟延迟就可以了)的Ionic应用程序,我想使用Ajax(带或不带长轮询),因为我可能没有资源使用WebSocket。但是,我想让它很容易升级到WebSocket。既然Socket.io使用Ajax作为后备,有没有办法强迫它使用Ajax?这样,如果我有资源,我就可以轻松升级到WebSocket


顺便说一句,服务器通常可以支持比WebSocket更多的使用Ajax的客户端,对吗?(假设每个Ajax请求5-10秒)。

假设您的后端是node.js,
var socket=require('socket.io')()并且您的socket.io版本为0.x:

socket.set('transports', [
  'xhr-polling'
]);
否则,socket.io 1.x的新语法为:

var socket = require('socket.io')({
  'transports': ['xhr-polling']
});

另外,要回答您的问题,请参见以下答案: