示例#1
0
        //private void ReceivingFile(Socket handler)
        //{
        //    var timeout = DateTime.Now.AddSeconds(30);
        //    var byteCollection = new List<byte>();
        //    //var path = Path.ChangeExtension(Path.Combine("Upload", DateTime.Now.Ticks.ToString()), _fileExtension);
        //    var lengthRecData = -1;
        //    while (true)
        //    {
        //        var buffer = new byte[1048576];
        //        lengthRecData = handler.Receive(buffer, buffer.Length, SocketFlags.None);
        //        if (lengthRecData > 0)
        //        {
        //            timeout = DateTime.Now.AddSeconds(30);
        //            byteCollection.AddRange(buffer);
        //        }
        //        else
        //        {
        //            if (timeout < DateTime.Now)
        //                throw new TimeoutException("ReceivingFile");
        //        }

        //        break;
        //    }

        //    var pathToDirectory = Path.GetDirectoryName(path);
        //    if (!Directory.Exists(pathToDirectory))
        //        Directory.CreateDirectory(pathToDirectory);

        //    File.WriteAllBytes(path, byteCollection.Take(lengthRecData).ToArray());
        //}

        #endregion

        #region ISocketListener Members

        private void OnDataReceived(SocketDataEventArgs e)
        {
            if (DataReceived != null)
            {
                DataReceived(this, e);
            }
        }
示例#2
0
 private void OnDataReceived(object sender, SocketDataEventArgs e)
 {
     Received(e.Handler, e.Data);
 }