socket.io не отправляет сообщение о соединении клиенту на flashsocket

Я использую сервер node.js с плагином socket.io для подключения между двумя клиентами (flash и js) на разных устройствах

для интеграции флэш-памяти я использую библиотеку FlashSocket.IO и имею io.set('transports', ['websocket', 'flashsocket']); в моем файле.js сервера

хотя на большинстве компьютеров все работает нормально - на некоторых компьютерах (не знаю, насколько это актуально, но оба компьютера, которые я проверял, работают под управлением Windows 8), - соединение не работает

при включении отладки на сервере я вижу, что для работающих клиентов сервер отправляет 1:: сообщение и для неработающих клиентов - это не

это часть журнала для рабочего клиента:

  debug - client authorized
  info  - handshake authorized 8JVqPB6MuJYJeMR3RVN_
  debug - setting request GET /socket.io/1/flashsocket/8JVqPB6MuJYJeMR3RVN_
  debug - set heartbeat interval for client 8JVqPB6MuJYJeMR3RVN_
  debug - client authorized for
  debug - flashsocket writing 1::
  connected - //my console.log call on io.sockets.on('connection', ...
  debug - flashsocket received data packet 5:0+::{"args":"7087623252","name":"register"}

а для неработающего клиента:

  debug - client authorized
  info  - handshake authorized 0nztNzwvw260Pa-bRHef
  debug - setting request GET /socket.io/1/flashsocket/0nztNzwvw260Pa-bRHef
  debug - set heartbeat interval for client 0nztNzwvw260Pa-bRHef
  debug - client authorized for
  connected - //my console.log call on io.sockets.on('connection', ...

п.с.

это не похоже на проблему с брандмауэром - даже когда брандмауэр выключен, проблема продолжает происходить

Благодарю вас!

2 ответа

Решение

В конце концов это была проблема, связанная с антивирусом

за одну секунду до того, как я сошел с ума, я обнаружил, что Avast, установленный на этом компьютере, заблокировал соединение - когда Web Shield был отключен - все работало как чудо

(Установка того же антивируса на мой компьютер с Win7 не привела к проблеме - возможно, это была проблема Win8+Avast)

Спасибо, в любом случае

Я считаю, что это проблема, связанная с браузером. Со страницы socket.io github:

flashsocket не будет активирован в Chrome или других браузерах, которые полностью поддерживают WebSockets, даже если flashsocket указан в качестве единственного транспорта. Чтобы проверить flashsocket, используйте IE 8 или IE 9 или другие браузеры, которые изначально не поддерживают WebSockets.

Поэтому, если вы хотите убедиться, что flashsocket работает правильно, используйте IE 8/9.

Другие вопросы по тегам