telnetd.cpp
上传用户:wsk323
上传日期:2007-01-05
资源大小:403k
文件大小:3k
源码类别:

Telnet服务器

开发平台:

Visual C++

  1. /*---------------------------------------------------------------------------
  2. Copyright:    E. Brady Trexler
  3. Creation:     March 1998, skeleton generated by Borland C++ Builder.
  4. Description:  The main project file.  If created as a WindowsNT Service,
  5.               by defining SERVICE when building, a TDCService is
  6.               instantiated and handles the command line. TDCService is a
  7.               class written by
  8.                                Daniel Carey --  whawke@multipro.com
  9.                                http://users.multipro.com/whawke
  10.                                
  11.               I basically used his code and altered the Run routine, as
  12.               he suggests.
  13.               If not used as a service, this basically starts a telnet
  14.               server that will run on Windows95, albeit very dangerously,
  15.               as no user validation is performed.
  16.               The telnet server is implemented in VTTelnetDaemon.
  17. Legal issues: Copyright (C) 1998 by E. Brady Trexler
  18.               This software is provided 'as-is', without any express or
  19.               implied warranty.  In no event will the author be held liable
  20.               for any  damages arising from the use of this software.
  21.               Permission is granted to anyone to use this software for any
  22.               purpose, excluding commercial applications, and to alter it
  23.               and redistribute it freely, subject to the following
  24.               restrictions:
  25.               1. The origin of this software must not be misrepresented,
  26.                  you must not claim that you wrote the original software.
  27.                  If you use this software in a product, an acknowledgment
  28.                  in the product documentation would be appreciated but is
  29.                  not required.
  30.               2. Altered source versions must be plainly marked as such, and
  31.                  must not be misrepresented as being the original software.
  32.               3. This notice may not be removed or altered from any source
  33.                  distribution.
  34. Updates:
  35. ---------------------------------------------------------------------------*/
  36. #include <condefs.h>
  37. #pragma hdrstop
  38. #include "tdcservice.h"
  39. #include "VTTelnetSession.h"
  40. #include "VTTelnetDaemon.h"
  41. //---------------------------------------------------------------------------
  42. USEUNIT("tdcservice.cpp");
  43. USEUNIT("VTTelnetDaemon.cpp");
  44. USERC("tdcservmsg.rc");
  45. USEUNIT("VTTelnetSession.cpp");
  46. USERES("telnetd.res");
  47. //---------------------------------------------------------------------------
  48. #pragma argsused
  49. int main(int argc, char **argv)
  50. {
  51. #ifdef SERVICE
  52.    TDCService tsvc("VTrex Telnet Daemon");
  53. if (!tsvc.ParseStandardArgs(argc, argv)) {
  54.         tsvc.StartService();
  55.     }
  56.     return tsvc.m_Status.dwWin32ExitCode;
  57. #else
  58.     Application->Initialize();
  59.     //create a TVTDaemon, which listens at the telnet port
  60.     VTDaemon = new TVTDaemon(Application);
  61.     while (VTDaemon) {
  62.     // these next lines are crazy -- because we don't want it to terminate
  63.     // but all we need is one message to be sent, which Terminate() does,
  64.     // and in this context, handling that message does not close the app.
  65.          Application->Terminate();
  66.          Sleep(50);
  67.          Application->HandleMessage();
  68.     }
  69.     return 0;
  70. #endif
  71. }