public void Dispose() { HeaderWriter.Dispose(); HeaderStream.Dispose(); ContentWriter.Dispose(); ConentStream.Dispose(); }
public int Recieve(int _timeout = 5000) { if (State != RunnerSocketState.Connected) { return(0); } Sender.ReceiveTimeout = _timeout; try { int dataRec = Sender.Receive(HeaderData, 0, 8, SocketFlags.None); HeaderReader.BaseStream.Seek(0, SeekOrigin.Begin); uint dataHeader = HeaderReader.ReadUInt32(); int dataSize = HeaderReader.ReadInt32() - 8; if (dataRec != 8) { Console.WriteLine("Failed to read packet header!"); } else { int num = 0; if (dataHeader == RunnerNetworkPacket.PK_HEADER) { if (dataSize > HeaderData.Length) { HeaderStream.SetLength(dataSize); } while (num < dataSize) { dataRec = Sender.Receive(HeaderData, num, dataSize - num, SocketFlags.None); num += dataRec; if (dataRec > 0) { continue; } break; } if (num > 0) { return(num); } State = RunnerSocketState.Error; return(0); } else { Console.WriteLine("Wrong packet header!"); } } } catch { return(0); } return(0); }
public void Flush(Stream outputStream) { HeaderWriter.Flush(); HeaderStream.Position = 0; HeaderStream.CopyTo(outputStream); ContentWriter.Flush(); ConentStream.Position = 0; ConentStream.CopyTo(outputStream); }
/// <summary> /// Dispose. /// </summary> /// <param name="disposing"></param> internal void Dispose(bool disposing) { if (!disposed) { //Command = null; //Label = null; Sender = null; QueueName = null; //Notify = null; if (HeaderStream != null) { HeaderStream.Dispose(); HeaderStream = null; } if (m_stream != null) { m_stream.Dispose(); m_stream = null; } } disposed = true; }
public void Dispose() { HeaderStream?.Dispose(); ContentStream?.Dispose(); }
public override void EndWriter() { HeaderStream.Close(); SourceStream.Close(); }