protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (socket != null)
         {
             socket.Close();
             socket = null;
         }
         if (server != null)
         {
             server.ListenerSocket.Close();
             server.Dispose();
             server = null;
         }
         if (fileTail != null)
         {
             fileTail.Dispose();
             fileTail = null;
         }
     }
 }
 private void InitiateFileTail(IWebSocketConnection Socket)
 {
     socket = Socket;
     fileTail = new FileTail(filePath, true);
     fileTail.FileRead += new EventHandler(filetail_FileReadChangesArrived);
     fileTail.ChangesArrived += new EventHandler(filetail_FileReadChangesArrived);
     fileTail.Error += new UnhandledExceptionEventHandler(filetail_Error);
     fileTail.StartTrackingFileTail();
 }