【发布时间】:2010-11-05 19:27:49
【问题描述】:
我想通过 UDP 协议将文件从一台计算机发送到另一台计算机。我该怎么做?
我想要发送文件的样本...
【问题讨论】:
-
使用 Random 类,它的行为更可预测。
标签: c# .net networking udp .net-3.5
我想通过 UDP 协议将文件从一台计算机发送到另一台计算机。我该怎么做?
我想要发送文件的样本...
【问题讨论】:
标签: c# .net networking udp .net-3.5
您可以使用UdpClient。
使用 UDP 无法保证交付 - 如果您必须分解文件,这尤其成问题。请参阅此处进行讨论 - How to send large data using C# UdpClient?
如果这是点对点的(如问题所示),使用TransmitFile 编写一些本机代码来执行此操作会很简单。
TransmitFile 函数传输 通过连接的套接字文件数据 处理。该功能使用 操作系统的缓存管理器 检索文件数据,并提供 高性能文件数据传输 通过套接字。
【讨论】:
使用UdpClient 类。
【讨论】:
UDP 没有文件的固有知识(它在协议堆栈中要低得多),因此可能值得研究已建立的UDP-based file transfer protocols 之一。其中一些可能具有 .NET 实现。
否则,您将自己做很多工作(例如,确保文件被分解成碎片,确保所有数据包都被接收并且以正确的顺序接收,等等)
【讨论】:
以下链接显示了如何使用 C# 发送和接收 UDP 数据包的各种示例
http://www.java2s.com/Code/CSharp/Network/UdpClientMultiReceive.htm
【讨论】: