| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- using System;
 
- using System.IO;
 
- using System.Net.Sockets;
 
- namespace SocketHttpListener
 
- {
 
-     public class SocketStream : Stream
 
-     {
 
-         private readonly Socket _socket;
 
-         public SocketStream(Socket socket, bool ownsSocket)
 
-         {
 
-             _socket = socket;
 
-         }
 
-         public override void Flush()
 
-         {
 
-         }
 
-         public override bool CanRead => true;
 
-         public override bool CanSeek => false;
 
-         public override bool CanWrite => true;
 
-         public override long Length => throw new NotImplementedException();
 
-         public override long Position
 
-         {
 
-             get => throw new NotImplementedException();
 
-             set => throw new NotImplementedException();
 
-         }
 
-         public override void Write(byte[] buffer, int offset, int count)
 
-         {
 
-             _socket.Send(buffer, offset, count, SocketFlags.None);
 
-         }
 
-         public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
 
-         {
 
-             return _socket.BeginSend(buffer, offset, count, SocketFlags.None, callback, state);
 
-         }
 
-         public override void EndWrite(IAsyncResult asyncResult)
 
-         {
 
-             _socket.EndSend(asyncResult);
 
-         }
 
-         public override void SetLength(long value)
 
-         {
 
-             throw new NotImplementedException();
 
-         }
 
-         public override long Seek(long offset, SeekOrigin origin)
 
-         {
 
-             throw new NotImplementedException();
 
-         }
 
-         public override int Read(byte[] buffer, int offset, int count)
 
-         {
 
-             return _socket.Receive(buffer, offset, count, SocketFlags.None);
 
-         }
 
-         public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
 
-         {
 
-             return _socket.BeginReceive(buffer, offset, count, SocketFlags.None, callback, state);
 
-         }
 
-         public override int EndRead(IAsyncResult asyncResult)
 
-         {
 
-             return _socket.EndReceive(asyncResult);
 
-         }
 
-     }
 
- }
 
 
  |