2016-08-27 4 views
0

Ich spiele mit der neuen ActionCable-Funktion. Gibt es eine Möglichkeit, mit dem Befehl socket socket.io oder von einer Anwendung, die React oder ReactNative verwendet, mit dem ActionCable-Server zu kommunizieren?Consuming Rails 5 ActionCable

Vielleicht verwirre ich die korrekte Verwendung von ActionCable und es ist nicht als API-Ersatz gedacht und es soll als unterstützende Front-End-Technologie für die gleiche App verwendet werden.

Jedes gute Beispiel oder Leitfaden, um ActionCable als eigenständigen WS-Server zu verwenden, wäre willkommen, wenn dies möglich ist.

Antwort

1

Sie können mit ActionCable wie mit anderen WebSocket-Bibliotheken interagieren.

so zu tun, würde man von einem Kanal in Rails streamen:

class ExampleChannel < ApplicationCable::Channel 
    def subscribe 
    stream_from 'example' 
    end 
end 

Dann akzeptieren Sie die Rails WebSocket über Ihren Stand-alone-Client eine Verbindung herstellen kann und die Nachricht subscribe das ActionCable Protokoll:

function Socket(url) { 
    const ws = new WebSocket(url); 

    ws.onopen(() => { 
    ws.send('{"command":"subscribe","identifier":"{\"channel\":\"ExampleChannel\"}"'); 
    }); 
} 

Referenz: http://edgeguides.rubyonrails.org/action_cable_overview.html#channels

https://github.com/NullVoxPopuli/action_cable_client/blob/master/README.md

+0

Ja, ich habe gelesen, wie man die Abo-Nachrichten und ähnliches implementiert, aber [ActionCable NPM Paket kam] (https://www.npmjs.com/package/actioncable) –

+0

@ SaulMartínez haben Sie in der Lage, mit Actioncable zu kommunizieren Server von iOS mit Aktionskabel NPM-Paket. Wenn ja, können Sie Beispielcode freigeben? – Zahid

Verwandte Themen