Что такое концепция дротика о потоках данных?

Дротик быстро менялся, поэтому я не нашел способа получить поток данных из HttpResponse для отправки произвольных (даже двоичных) данных через веб-сокет. Даже файловый ввод-вывод пока не имеет openInput/OutputStream. Какова концепция для работы с потоками данных в дартс в настоящее время?

Я на самом деле хотел бы получить вид абстрактного объекта потока данных (например, System.IO.Stream в C#) для реализации интерфейса сериализации с ним, а затем применить его к потоку данных websocket, чтобы я мог изменить формат сериализации для своих сетевых пакетов с новыми реализации сериализатора в будущем или создания объекта потока памяти (например, System.IO.MemoryStream в C#) для получения сериализованных данных в памяти.

И, наконец, можно ли вообще отправлять двоичные данные с помощью веб-сокетов?

Thanx.

1 ответ

HttpRequest в dart:io инвентарь Stream<List<int>>, Чтобы получить данные, слушайте в потоке. Пример был недавно добавлен в документ API по адресу http://api.dartlang.org/docs/releases/latest/dart_io/HttpRequest.html. http_server Пакет на https://pub.dartlang.org/packages/http_server содержит ряд служебных классов для обработки HTTP.

WebSocket реализует оба Stream а также StreamSink, При регистрации в потоке полученные объекты будут иметь тип String или же List<int> в зависимости от того, было ли отправлено строковое сообщение или сообщение двоичных данных. Также вы можете добавлять объекты типа String а также List<int> к WebSocket отправлять сообщения.

Полученные двоичные данные будут иметь тип Uint8List от dart:typed_data библиотека. Я буду рекомендовать использовать Uint8List при отправке двоичных данных.

Как WebSocket использует потоки, все функции для потоков, включая преобразование доступны.

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