设为首页 加入收藏

TOP

3.4.2 具体实现(2)
2013-10-07 15:54:58 来源: 作者: 【 】 浏览:81
Tags:3.4.2 具体 实现

3.4.2  具体实现(2)

(4) 在文件CTelnetView.h中实现CTelnetView类的编写,具体代码如下:

  1. class CTelnetDoc;  
  2. class CClientSocket;  
  3. //下一个bit组为命令  
  4. const unsigned char IAC = 255;  
  5. //作为一种请求发送给另一方来启动某个选项  
  6. const unsigned char DO = 253;  
  7. //响应保证是连接最终保持与这种没有任何选项的状态  
  8. const unsigned char DON’T = 254;  
  9. //表示发送或接收一方希望执行某个选项  
  10. const unsigned char WILL = 251;  
  11. //响应保证是连接最终保持与这种没有任何选项的状态  
  12. const unsigned char WONT = 252;  
  13. //开始选项协商  
  14. const unsigned char SB = 250;  
  15. //选项协商结束  
  16. const unsigned char SE = 240;  
  17. //判断标识  
  18. const unsigned char IS = '0';  
  19. const unsigned char SEND = '1';  
  20. const unsigned char INFO = '2';  
  21. const unsigned char VAR = '0';  
  22. const unsigned char VALUE = '1';  
  23. const unsigned char ESC = '2';  
  24. const unsigned char USERVAR = '3';  
  25.  
  26. #define bufferLines 30  
  27. #define dtX 8  
  28. #define dtY 13  
  29. //设置输入输出缓冲区的大小为1024KB  
  30. #define ioBuffSize 1024  
  31.  
  32. class CTelnetView : public CScrollView  
  33. {  
  34. protected: // create from serialization only  
  35. CTelnetView();  
  36. DECLARE_DYNCREATE(CTelnetView)  
  37.  
  38. COLORREF cTextColor;  
  39. COLORREF cBackgroundColor;  
  40.  
  41. CString cHostName;  
  42. //定义并声明和远程访问相关的变量和方法  
  43. public:  
  44. CClientSocket *cSock;  
  45. void ArrangeReply(CString strOption);  
  46. //正常传输的字符串  
  47. CString m_strNormalText;  
  48. //选择响应方法  
  49. void RespondToOptions();  
  50. //处理信息流程的方法  
  51. void ProcessOptions();  
  52. //设置临时计数器     
  53. int TempCounter;  
  54. //字符串选择  
  55. CString m_strOptions;  
  56. //字符串行表选择  
  57. CStringList m_ListOptions;  
  58. //协商标识变量  
  59. BOOL bNegotiating;  
  60. BOOL bOptionsSent;  
  61. CString m_strResp;  
  62. CString m_strLine;  
  63. unsigned char m_bBuf[ioBuffSize];  
  64. BOOL GetLine(unsigned char *bytes, int nBytes, int &ndx);  
  65. void DispatchMessage(CString strText);  
  66. void ProcessMessage(CClientSocket *cSocket);  
  67.  
  68. char cText[100][bufferLines];  
  69. long cCursX;  
  70. CString m_strline;  
  71. //绘制清除窗口  
  72. void DrawCursor(CDC *pDC, BOOL pDraw);  
  73. void DoDraw(CDC *pDC);  
  74. void ClearWindows(CDC *pDc);  
  75. //当前的坐标  
  76. int CurrentXX;  
  77. int CurrentYY;  
  78.  
  79. //测试程序  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.4.2 具体实现(1) 下一篇3.4.2 具体实现(3)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)
·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)