Я был бы удивлен, если бы общая скорость соединения с течением времени отличалась между веб-браузерами, но причина, по которой вы увидите задержку начального соединения в Internet Explorer и в Opera, заключается в том, что встроенная поддержка WebSocket недоступнакак это было отключено по умолчанию.Поэтому, если вы выберете FlashSocket, перед установлением соединения потребуется загрузить дополнительный Flash-объект (SWF-файл).
WebSockets вводятся в IE10 и в Opera они доступны, но по умолчанию отключены.
В чем разница между видом транспорта - XHR-опрос и flash / websocket?
- XHR-опрос - см. http://en.wikipedia.org/wiki/Push_technology#Long_polling
- Соединение FlashSocket - использует объект Flash Socket для установления соединения с сервером WebSocket и обменивается данными по протоколу WebSocket.Это означает, что существует взаимодействие между Flash и JavaScript, а также означает, что необходимо загрузить дополнительный объект Flash (SWF-файлы).
Какой наилучший способ транспортировки?
WebSockets для любого веб-браузера, который изначально поддерживает его (Chrome, Firefox, Safari).Если объект Flash (SWF-файл) находится в кэше браузера, то соединение должно быть быстрым.Если это не так, то будет задержка.XHR Long-Polling - хорошее решение, которое будет работать в разных браузерах, но есть недостатки:
- между запросами на опрос данные на дисплее могут быть устаревшими (устаревшими).
- Этоменее эффективный метод соединения, чем одно TCP-соединение, используемое WebSockets, так как HTTP Long-Polling использует множественное соединение для имитации двунаправленной функциональности
- HTTP имеет служебную информацию, что означает, что дополнительная информация заголовка отправляется по запросу и при каждом последующем запросе,
Как оптимизировать скорость соединения с помощью socket.io?
(я довольно новичок в socket.io, это всего лишь предложение)
Я бы посмотрел на конфигурацию документов Socket.io и посмотрел, можно ли условно установить transports
в зависимости от подключаемого браузера.Исходя из вашего опыта, это может быть:
- Chrome, Firefox, Safari - WebSockets
- IE, Opera - XHR-опрос