C#断点续传控制台版


文章《C# 基于 socket 的断点续传功能的实现》中的示例代码。 具体见blog:http://blog.csdn.net/shi0090/article/details/46854457
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;

namespace tcpclient
{
    class Program
    {
        private static byte[] _buffer = new byte[102400];
        private static int _receiveCount = 0;
        private static string _receiveString = string.Empty;

        static void Main(string[] args)
        {
            try
            {
                IPAddress ip = IPAddress.Parse(“127.0.0.1“);
                IPEndPoint ep = new IPEndPoint(ip 9110);
                using (Socket transferSocket = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp))
                {
                    transferSocket.Connect(ep);
                    Console.WriteLine(“connect success...“);

                    ReceiveConsole(transferSocket);
                    ReceiveConsole(transferSocket);
                    while (true)
                    {
                        var input = Console.ReadLine();
                        transferSocket.Send(Encoding.UTF8.GetBytes(input));
                        Thread.Sleep(100);
                        if (input == “yes“)
                            break;
                        else if (input == “no“)
                        {
                            ReceiveConsole(transferSocket);
                            return;
                        }
                        else
                            ReceiveConsole(transferSocket);
                    }

                    ReceiveConsole(transferSocket);
                    var downloadPath = string.Empty;
                    while (true)
                    {
                        var input = Console.ReadLine();
                        try
                        {
                            DirectoryInfo di = new DirectoryInfo(input);
                            if (!di.Exists)
                            {
                                Console.WriteLine(“path is invalid please reset it.“);
                                continue;
                            }
                            downloadPath = input;
                            break;
                        }
                        catch
                        {
                            Console.WriteLine(“path is invalid please reset it.“);
                        }
                    }

                    transferSocket.Send(Encoding.UTF8.GetBytes(“yes“));
                    Thread.Sleep(100);                   

                    while (true)
                    {
                        if (ReceiveConsole(transferSocket) == “send argument“)
                            break;
                    }

                    var tempCount = 0;
                    var bpp = new BreakPointPost();
                    while (tempCount < 5)
                    {
                        SetBreakPointPostArg(bpp ReceiveConsole(transferSocket));
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-07-12 22:10  socket_backpointpost(console)
     文件        6148  2015-07-12 22:12  socket_backpointpost(console).DS_Store
     目录           0  2015-07-12 22:21  __MACOSX
     目录           0  2015-07-12 22:21  __MACOSXsocket_backpointpost(console)
     文件         120  2015-07-12 22:12  __MACOSXsocket_backpointpost(console)._.DS_Store
     文件        1449  2015-07-12 22:08  socket_backpointpost(console)socket_backpointpost.sln
     目录           0  2015-07-12 22:08  socket_backpointpost(console) cpclient
     文件        7902  2015-07-12 22:12  socket_backpointpost(console) cpclientProgram.cs
     目录           0  2015-07-12 22:21  __MACOSXsocket_backpointpost(console) cpclient
     文件         406  2015-07-12 22:12  __MACOSXsocket_backpointpost(console) cpclient._Program.cs
     目录           0  2015-07-12 22:08  socket_backpointpost(console) cpclientProperties
     文件        1324  2015-07-12 22:08  socket_backpointpost(console) cpclientPropertiesAssemblyInfo.cs
     文件        2395  2015-07-12 22:08  socket_backpointpost(console) cpclient cpclient.csproj
     目录           0  2015-07-12 22:10  socket_backpointpost(console) cpserver
     文件        6148  2015-07-12 22:10  socket_backpointpost(console) cpserver.DS_Store
     目录           0  2015-07-12 22:21  __MACOSXsocket_backpointpost(console) cpserver
     文件         120  2015-07-12 22:10  __MACOSXsocket_backpointpost(console) cpserver._.DS_Store
     文件        8944  2015-07-12 22:08  socket_backpointpost(console) cpserverProgram.cs
     目录           0  2015-07-12 22:08  socket_backpointpost(console) cpserverProperties
     文件        1324  2015-07-12 22:08  socket_backpointpost(console) cpserverPropertiesAssemblyInfo.cs
     文件        2461  2015-07-12 22:08  socket_backpointpost(console) cpserver cpserver.csproj
     文件     2058993  2015-07-12 22:08  socket_backpointpost(console) cpserver鑷敱闂?zip

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)