• 大小: 163KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-06
  • 语言: C#
  • 标签:

资源简介

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个文件信息

评论

共有 条评论

相关资源