关于数据流的dart概念是什么?

时间:2013-09-05 11:56:15

标签: serialization websocket dart data-stream

飞镖变化很快,所以我找不到从HttpResponse获取数据流以通过websocket发送任意(甚至是二进制)数据的方法。即使文件IO暂时没有openInput / OutputStream。目前在dart中处理数据流的概念是什么?

我实际上想得到一些抽象的数据流对象(比如C#中的System.IO.Stream)来实现它的序列化接口,然后将它应用到websocket数据流,这样我就可以改变网络的序列化格式了将来使用新的序列化程序实现的数据包,或创建内存流对象(如C#中的System.IO.MemoryStream)以在内存中获取序列化数据。

最后 - 是否可以使用websockets发送二进制数据?

感谢名单。

1 个答案:

答案 0 :(得分:1)

HttpRequest中的dart:io实现Stream<List<int>>。要在流上监听数据。最近在http://api.dartlang.org/docs/releases/latest/dart_io/HttpRequest.html的API文档中添加了一个示例。 https://pub.dartlang.org/packages/http_server上的http_server包包含许多用于处理HTTP的实用程序类。

WebSocket同时实现StreamStreamSink。当在流上发现时,接收的对象将是StringList<int>类型,具体取决于是否发送了字符串消息或二进制数据消息。同样,您可以将StringList<int>类型的对象添加到WebSocket以发送消息。

收到的二进制数据将来自Uint8List库中的dart:typed_data类型。我建议在发送二进制数据时使用Uint8List

由于WebSocket使用流,因此可以使用流的所有功能,包括转换。