ChatServer.cpp
上传用户:posgewe
上传日期:2013-05-17
资源大小:69k
文件大小:3k
源码类别:

Telnet服务器

开发平台:

Visual C++

  1. // ChatServer.cpp : Defines the class behaviors for the application.
  2. //
  3. #include "stdafx.h"
  4. #include "ChatServer.h"
  5. #include "ChatServerDlg.h"
  6. #include "ServerSocket.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CChatServerApp
  14. BEGIN_MESSAGE_MAP(CChatServerApp, CWinApp)
  15. //{{AFX_MSG_MAP(CChatServerApp)
  16. // NOTE - the ClassWizard will add and remove mapping macros here.
  17. //    DO NOT EDIT what you see in these blocks of generated code!
  18. //}}AFX_MSG
  19. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  20. END_MESSAGE_MAP()
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CChatServerApp construction
  23. CChatServerApp::CChatServerApp()
  24. {
  25. // TODO: add construction code here,
  26. // Place all significant initialization in InitInstance
  27. }
  28. /////////////////////////////////////////////////////////////////////////////
  29. // The one and only CChatServerApp object
  30. CChatServerApp theApp;
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CChatServerApp initialization
  33. BOOL CChatServerApp::InitInstance()
  34. {
  35. if (!AfxSocketInit())
  36. {
  37. AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
  38. return FALSE;
  39. }
  40. AfxEnableControlContainer();
  41. // Standard initialization
  42. // If you are not using these features and wish to reduce the size
  43. //  of your final executable, you should remove from the following
  44. //  the specific initialization routines you do not need.
  45. #ifdef _AFXDLL
  46. Enable3dControls(); // Call this when using MFC in a shared DLL
  47. #else
  48. Enable3dControlsStatic(); // Call this when linking to MFC statically
  49. #endif
  50. CServerSocket *m_pSocket;
  51. m_pSocket = new CServerSocket;
  52. if(!m_pSocket->Create(9999))
  53. {
  54. AfxMessageBox("创建Socket失败!!!");
  55. return FALSE;
  56. }
  57. if(!m_pSocket->Listen())
  58. {
  59. AfxMessageBox("创建侦听发生错误!!!");
  60. return FALSE;
  61. }
  62. CChatServerDlg dlg;
  63. m_pMainWnd = &dlg;
  64. int nResponse = dlg.DoModal();
  65. if (nResponse == IDOK)
  66. {
  67. // TODO: Place code here to handle when the dialog is
  68. //  dismissed with OK
  69. }
  70. else if (nResponse == IDCANCEL)
  71. {
  72. // TODO: Place code here to handle when the dialog is
  73. if(m_pSocket)
  74. {
  75. m_pSocket->Close();
  76. delete m_pSocket;
  77. }
  78. //  dismissed with Cancel
  79. }
  80. // Since the dialog has been closed, return FALSE so that we exit the
  81. //  application, rather than start the application's message pump.
  82. return FALSE;
  83. }