0

我需要能够将文件+元数据发送到另一台计算机上的服务,并且该服务应该对数据进行操作并返回多个文件+元数据。

问题是文件有时非常大,因此在客户端或服务器分配内存来保存文件和相关元数据是不可行的。

我想知道是否有任何库可以包含文件流和其他数据,将它们组合成一个流,以便能够通过网络传输它们。

到目前为止,我最好的解决方案是首先发送包括文件长度在内的序列化元数据,然后将不同的文件流附加到该流,然后在另一端解构该流。希望有更优雅的方法来解决这个问题?

我想我正在寻找类似 BinaryFormatter 的东西,它支持对我希望序列化的流的内容进行序列化。

4

1 回答 1

0

我的网络库可以毫无问题地发送非常大的流。而且它也可以做得非常快(当前的 HTTP 服务器实现在我的计算机上每秒处理 2700 个请求)。

您只需告诉库发送一个流,它就会使用块来完成。

检查 HTTP 服务器示例,因为它只是为正文执行此操作:https ://github.com/jgauffin/griffin.networking/blob/master/Source/Protocols/Http/Griffin.Networking.Protocol.Http/HttpService.cs

Context.Send(message.Body);行将发送流(FileStream或其他)

于 2012-11-15T15:39:40.377 回答