Это немного сложно, но здесь.
У меня есть приложение Rails, в котором есть небольшой JS-виджет, который обновляется в некоторых процессах обработки на сервере. Приложение Rails ставит в очередь задание в Redis (через Kthxbye ), которое обрабатывается, а затем, после завершения, запускает сообщение публикации Redis. Этот канал отслеживается сервером Node.JS, который отвечает за обработку уведомлений и обновление веб-интерфейса. Все это прекрасно работает в мире Google Chrome, где работают WebSockets.
Однако и Firefox, и IE должны использовать другие решения по умолчанию, поскольку они не поддерживают WebSockets (пока).
В настоящее время кажется, что оба по умолчанию используют транспорт с xhr-опросом. Из журналов Node.js. Это все хорошо. Однако в IE кажется, что в методе транспорта / опроса есть ошибка. Из журналов Node.js:
29 Sep 15:30:02 - Initializing client with transport "xhr-polling"
29 Sep 15:30:02 - Client 9219092682469636 connected
29 Sep 15:30:05 - Client 8440734834875911 disconnected
29 Sep 15:30:05 - Client 6149627515114844 disconnected
29 Sep 15:30:07 - Illegal transport "jsonp-polling"
29 Sep 15:30:07 - Illegal transport "jsonp-polling"
Таким образом, он выглядит так, как будто он соединяется, и, как только он пытается опросить, он отключается из-за проблемы «нелегальной транспортировки». Кто-нибудь знает, откуда это?
Несколько других подсказок: разъем вспышки, кажется, загружается правильно, но я предполагаю, что он не работает или не загружается каким-либо образом, поскольку он все еще возвращается к опросу xhr. Из IE я вижу следующие 3 запроса на каждый цикл опроса:
GET /socket.io/xhr-polling//1285789236601 HTTP/1.1
Accept: */*
Origin: http://plukevdh-desktop:3000
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
Host: itwebpriv1:8081
Connection: Keep-Alive
Cache-Control: no-cache
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 25
Access-Control-Allow-Origin: undefined
Connection: keep-alive
---
GET /socket.io/xhr-polling//1285789236616 HTTP/1.1
Accept: */*
Origin: http://plukevdh-desktop:3000
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
Host: itwebpriv1:8081
Connection: Keep-Alive
Cache-Control: no-cache
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 24
Access-Control-Allow-Origin: undefined
Connection: keep-alive
---
GET /socket.io/jsonp-polling//1285789241616/0 HTTP/1.1
Accept: */*
Referer: http://plukevdh-desktop:3000/jobs/905390
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
Accept-Encoding: gzip, deflate
Host: itwebpriv1:8081
Connection: Keep-Alive