资源简介
c#udp文件传输,代码程序
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace UDPPeerToPeer
{
public class DealWithCmdor
{
private Thread SendThread = null;
///
/// 对Udp的引用
///
public UdpHelper Udp { get; set; }
public DealWithCmdor(UdpHelper udp)
{
Udp = udp;
}
///
/// 根据标识符的不同分别处理
///
/// 消息标识符
/// 未经处理的消息
public void DealCmd(string cmdstring originalMsg)
{
switch(cmd){
case “MESS“:
///处理文字消息
MessageHelper.ReceiveMessage(Udp.RtbRecvoriginalMsg);
break;
case “FILE“:
///对方发来文件,请您立刻接收
Udp.ReceiveType = FileHelper.FileType.OnlyFileInfo;
//获取文件消息并显示在接收控件上
lock(Udp.fileContainer){
string Notice = originalMsg.Substring(4originalMsg.Length - 4);
FileHelper.FileHeader FI = ReceiveFileHelper.GetFileHeaderInfo(UdpNotice);
///将文件的传送类型传入构造函数
Udp.receiveTransfer = new TransferContainer.ReceiveTransfer(FIUdp.ReceiveTypeUdp);
Udp.fileContainer.Invoke(new MyDelegate(AddComponent));
}
break;
case “DIRC“:
///接收的是文件夹
Udp.ReceiveType = FileHelper.FileType.DirectoryInfo;
break;
case “READ“:
//对方已经准备接收,请您立刻发送
//开始发送
ReceiveFileHelper.SendCommand(Udp“HSSE“);
StartSend();
break;
case “RFRC“:
//对方拒绝接收,您不必发送
break;
case “CASE“:
//对方已经取消发送
break;
case “HSSE“:
///接收文件
//Udp.RecvFileOrDirTimer.Tick += new EventHandler(Udp.RecvFileOrDirTimer_Tick);
ReceiveFileOrDir.ReceiveFile(Udp);
break;
}
}
private delegate void MyDelegate();
public void AddComponent()
{
Udp.fileContainer.AddItem(Udp.receiveTransfer);
}
///
/// 开始发送文件或文件夹
///
private void StartSend()
{
if (Udp.SendType == FileHelper.FileType.OnlyFileInfo)
{
///开启发送文件线程
SendThread = new Thread(new ThreadStart(delegate { SendFileOrDir.SendFile(Udp); }));
SendThread.Start();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 31232 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\bin\Debug\UDPPeerToPeer.dll
文件 89600 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\bin\Debug\UDPPeerToPeer.pdb
文件 3325 2011-11-30 21:53 UDP点对点\UDPPeerToPeer\DealWithCmdor.cs
文件 1388 2011-11-25 20:22 UDP点对点\UDPPeerToPeer\FileContainer.cs
文件 1114 2011-11-25 20:22 UDP点对点\UDPPeerToPeer\FileContainer.designer.cs
文件 4692 2011-11-30 01:34 UDP点对点\UDPPeerToPeer\FileHelper.cs
文件 744 2011-11-24 00:33 UDP点对点\UDPPeerToPeer\IPHelper.cs
文件 1237 2011-11-25 19:57 UDP点对点\UDPPeerToPeer\MessageHelper.cs
文件 7561 2011-11-30 19:44 UDP点对点\UDPPeerToPeer\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 5829 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 212 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\GenerateResource.read.1.tlog
文件 546 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\GenerateResource.write.1.tlog
文件 180 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\TransferContainer.ReceiveTransfer.resources
文件 180 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\TransferContainer.SendTransfer.resources
文件 751 2011-11-25 20:34 UDP点对点\UDPPeerToPeer\obj\Debug\UDPPeerToPeer.csproj.FileListAbsolute.txt
文件 31232 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\UDPPeerToPeer.dll
文件 89600 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\obj\Debug\UDPPeerToPeer.pdb
文件 1382 2011-11-23 23:19 UDP点对点\UDPPeerToPeer\Properties\AssemblyInfo.cs
文件 1634 2011-11-30 20:59 UDP点对点\UDPPeerToPeer\ReceiveFileHelper.cs
文件 1926 2011-11-30 22:08 UDP点对点\UDPPeerToPeer\ReceiveFileOrDir.cs
文件 6654 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\ReceiveTransfer.cs
文件 7785 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\ReceiveTransfer.designer.cs
文件 6009 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\ReceiveTransfer.resx
文件 2883 2011-11-30 22:18 UDP点对点\UDPPeerToPeer\SendFileOrDir.cs
文件 3961 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\SendTransfer.cs
文件 6363 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\SendTransfer.designer.cs
文件 5817 2011-11-30 22:17 UDP点对点\UDPPeerToPeer\SendTransfer.resx
文件 15410 2011-11-30 22:01 UDP点对点\UDPPeerToPeer\UdpHelper.cs
文件 3888 2011-11-30 01:34 UDP点对点\UDPPeerToPeer\UDPPeerToPeer.csproj
文件 3606 2011-11-25 20:34 UDP点对点\UDPPeerToPeer\udpProgreeBar.cs
............此处省略49个文件信息
- 上一篇:Asp.net MVC 处理文件的上传
- 下一篇:WPF实现画板小
评论
共有 条评论