Zaczynam od websocket-rails, próbując przekonwertować stary system pollingu na powiadomienia (w Ruby 2.1/Rails 4.0) na coś nieco bardziej nowoczesnego z WS. Używam WebsocketRails w trybie autonomicznym, tu jest moja konfiguracja, w zasadzie, domyślnie:Jak debugować "Nieprawidłowy nagłówek ramki" Problemy z siecią Web z Railsami/websocket-rails (autonomiczne)
WebsocketRails.setup do |config|
config.standalone = true
end
Mam również konfigurację świeże Redis uruchomiony na porcie domyślnym - nie wydaje się być żadnych problemów komunikacyjnych tutaj.
Po stronie klienta, Dodałem websocket szyn JS i podczas próby otwarcia połączenia i subskrybować kanał z:
@dispatcher = new WebSocketRails "localhost:3001/websocket"
@channel = @dispatcher.subscribe "notifications"
widzę błąd w konsoli Chrome:
WebSocket connection to 'ws://localhost:3001/websocket' failed: Invalid frame header
W Firefoksie, błąd jest inny, ale nadal błąd:
The connection to ws://localhost:3001/websocket was interrupted while the page was loading.
z websocke t dzienników serwera, widzę, że połączenie zostało zainicjowane, a następnie usunięte, ale nie ma innych dzienników, nawet jeśli na poziomie dziennika jest "debugowanie" ... Nie ma innych błędów, które mogę zobaczyć, a pobieżne wyszukiwanie Google nie nie podniosą niczego, co dotyczy "nieprawidłowego nagłówka ramki", więc jestem prawie zablokowany.
Każda pomoc zostanie doceniona!
EDIT: skończyło się używając NodeJS + Faye dostać rzeczy ruchomych, i to działa tak dobrze, że jestem szczęśliwy, że wprowadzenie tej nowej części ruchomej w systemie. Jestem pewien, że problem był po prostu czymś, co wynikało z mojej konkretnej konfiguracji, ale czasami trzeba po prostu załatwiać sprawy.
Co serwera są używasz? Używam faye-websocket na cienkiej i jestem w dokładnie tej samej sytuacji. – itdoesntwork
Działa na cienkim. Od tego czasu zaktualizowałem system do wersji 4.1 i Ruby 2.1.5 po aktualizacji zabezpieczeń i nie miałem okazji spróbować ponownie, mam nadzieję na cud świąteczny. Rozejrzałem się i nie mogłem znaleźć wiele informacji na temat tego problemu, więc zakładam, że to tylko artefakt ze względu na bardzo mało prawdopodobną kombinację elementów. – Enders
Jeśli nie używasz żadnych specjalnych funkcji Railsowych, prawdopodobnie łatwiej będzie Ci się z nim [framework Plezi] (https://github.com/boazsegev/plezi). Powinien działać również z ActiveRecord i ActiveSupport, jeśli ich używasz i ma łatwą integrację z Redis. – Myst