2016-07-25 3 views
1

Ich bin derzeit Nachrichten an Pusher in .NET wie folgt zu senden:Ermöglicht Pusher eine Transportnutzlast im Nicht-ASCII-Format (JSON)?

var result = pusher.Trigger("channel-1", "test_event", new { message = "hello world" }); 

und sie in JavaScript wie folgt empfangen:

var pusher = new Pusher('APP_KEY'); 
var channel = pusher.subscribe('channel-1'); 
channel.bind('test_event', function(data) { 
     // process 
    } 
); 

Wäre es möglich, die Nutzlast in einem anderen zu senden (kleineres Format, zB Protokollpuffer?

Antwort

1

Sie können keine Binärdaten senden, da die von Ihnen gesendeten Daten als Zeichenfolgenfeld in einem JSON-Objekt oder als Abfragezeichenfolgenparameter verwendet werden, wenn sie in Pusher ausgegeben werden. Dies wird in der HTTP API reference beschrieben.

Was Sie tun könnten, ist es mit Protobuf binär zu kodieren, und dann die resultierende Binärdatei als eine Zeichenfolge mit einem Base64-Encoder zu kodieren.

Das Problem, das Sie haben werden, ist mit .NET-Bibliothek. Dies nimmt die Daten, die Sie senden möchten, als object und codiert es intern als JSON. Sie müssten direkt an die HTTP-API senden oder die .NET-Bibliothek ändern, um eine Triggermethode anzuzeigen, die anstelle einer object eine string verwendet.

Verwandte Themen