示例#1
0
        protected static bool Send(string fileName)
        {
            AsyncSocketUserToken[] asyncSocketUserToken = new AsyncSocketUserToken[1];

            m_asyncSocketSvr.AsyncSocketUserTokenList.CopyList(ref asyncSocketUserToken);



            //FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite);
            try
            {
                try
                {
                    DownloadSocketProtocol download = new DownloadSocketProtocol(m_asyncSocketSvr, asyncSocketUserToken[0]);

                    return(true);
                }
                catch (Exception E)
                {
                    Console.WriteLine("Upload File Error: " + E.Message);
                    return(false);
                }
            }
            finally
            {
                //fileStream.Close();
            }
        }
示例#2
0
 //检测文件是否正在使用中,如果正在使用中则检测是否被上传协议占用,如果占用则关闭,真表示正在使用中,并没有关闭
 public bool CheckFileInUse(string fileName)
 {
     if (BasicFunc.IsFileInUse(fileName))
     {
         bool result = true;
         lock (m_asyncSocketServer.DownloadSocketProtocolMgr)
         {
             DownloadSocketProtocol downloadSocketProtocol = null;
             for (int i = 0; i < m_asyncSocketServer.DownloadSocketProtocolMgr.Count(); i++)
             {
                 downloadSocketProtocol = m_asyncSocketServer.DownloadSocketProtocolMgr.ElementAt(i);
                 if (fileName.Equals(downloadSocketProtocol.FileName, StringComparison.CurrentCultureIgnoreCase))
                 {
                     lock (downloadSocketProtocol.AsyncSocketUserToken) //AsyncSocketUserToken有多个线程访问
                     {
                         m_asyncSocketServer.CloseClientSocket(downloadSocketProtocol.AsyncSocketUserToken);
                     }
                     result = false;
                 }
             }
         }
         return(result);
     }
     else
     {
         return(false);
     }
 }
示例#3
0
 public void Remove(DownloadSocketProtocol value)
 {
     m_list.Remove(value);
 }
示例#4
0
 public void Add(DownloadSocketProtocol value)
 {
     m_list.Add(value);
 }