0

Dart は急速に変化しているため、HttpResponse からデータ ストリームを取得して、websocket 経由で任意の (バイナリであっても) データを送信する方法が見つかりませんでした。ファイル IO でさえ、今のところ openInput/OutputStream はありません。現時点で dart でデータ ストリームを操作するためのコンセプトは何ですか?

実際には、一種の抽象データ ストリーム オブジェクト (C# の System.IO.Stream など) を取得して、シリアル化インターフェイスを実装し、それを websocket データ ストリームに適用して、新しいネットワーク パケットのシリアル化形式を変更できるようにしたいと考えています。シリアライザーの実装を将来的に実装するか、メモリ ストリーム オブジェクト (C# の System.IO.MemoryStream など) を作成して、メモリ内のシリアル化されたデータを取得します。

最後に、websocket でバイナリ データを送信することはできますか?

ありがとう。

4

1 に答える 1

1

イン実装HttpRequestします。データを取得するには、ストリームをリッスンします。最近、例がhttp://api.dartlang.org/docs/releases/latest/dart_io/HttpRequest.htmlの API ドキュメントに追加されました。https://pub.dartlang.org/packages/http_serverのパッケージには、HTTP を処理するための多数のユーティリティ クラスが含まれています。dart:ioStream<List<int>>http_server

WebSocketStreamと の両方を実装しStreamSinkます。ストリームでリストする場合、受信したオブジェクトのタイプは、文字列メッセージまたはバイナリ データ メッセージのどちらが送信されたかによって異なりますStringList<int>同様に、 タイプのオブジェクトを に追加StringList<int>て、WebSocketメッセージを送信できます。

受信したバイナリ データは、ライブラリUint8Listからの型になります。バイナリデータを送信する場合dart:typed_dataに使用することをお勧めします。Uint8List

ストリームを使用するためWebSocket、変換を含むストリームのすべての機能が利用可能です。

于 2013-09-06T07:05:23.850 に答える