2008-09-18 112 views

回答

3

您应该查看二进制序列化并通过TCP套接字发送它。在C#TCP客户机/服务器上

http://www.dotnetspider.com/resources/408-XML-serialization-Binary-serialization.aspx

好底漆:对不同类型的系列化

很好的解释

http://www.codeproject.com/KB/IP/tcpclientserver.aspx

+0

第二个环节来自2001年,即使这个问题是新鲜的,这个环节还是很老的。这不是一个教程,是更多的代码示例。 – YetAnotherRandomUser 2018-02-18 22:00:37

0

如何?他们是这样做的。

亚历

0

我不会使用HTTP或FTP,对于单个文件来说,它的开销太大,代码太多,特别是在C#中几乎已经为您创建了一个简单的TCP服务器。

2

这取决于你的意思是网络 - 如果你在本地网络上复制,你可以在System.IO中使用文件复制操作。如果你想发送到远程服务器,我使用Web服务来做到这一点。我压缩字节数组并将它们发送并在远程端进行解压缩。字节数组非常容易使用流写回到磁盘。

我知道有些人更喜欢base 64字符串而不是byte []。不知道它是否重要。

0

套接字可能是最好的途径,如果你是只需要通过网络来完成。如果您使用TCP,您可以获得通信的可靠性,但会影响速度。如果你需要更高的性能,你可以尝试使用UDP。但是UDP的缺点是数据包传送和订单不能保证,所以你需要自己编写所有的管道。

如果您需要通过网络传输文件(以编程方式,并且如果您不能使用FTP),那么通过MTOM的Web服务方式可能适合您的需求。

如果您正在构建Windows Server 2003 R2,Windows Vista或Windows Server 2008之上并进行内部网络传输,另一个选项是利用新的Remote Differential Compression功能。这不仅在压缩文件以最大限度地减少网络流量方面做得很好,而且还可以直接用于DFS复制。下行(作为.NET开发者),它是一种COM +技术。

相关问题