3.4.2 具体实现(12)

2013-10-07 15:56:08 · 作者: · 浏览: 79

3.4.2  具体实现(12)

定义函数OnFileNew(),用于创建新的Socket,并实现与服务器的连接。具体代码如下:

  1. void CTelnetView::OnFileNew()   
  2. {  
  3. BOOL bOK;  
  4.  
  5. //弹出设定服务器对话框  
  6. CHostDialog host;  
  7. host.DoModal();  
  8. cHostName = host.m_HostName;  
  9.  
  10. //创建socket  
  11. cSock = new CClientSocket(this);  
  12.  
  13. if(cSock != NULL)  
  14. {  
  15. bOK = cSock->Create();  
  16. if(bOK == TRUE)  
  17. {  
  18. cSock->AsyncSelect(  
  19. FD_READ | FD_WRITE | FD_CLOSE | FD_CONNECT | FD_OOB);  
  20. //连接服务器  
  21. cSock->Connect(cHostName, 23);  
  22. //设定标题  
  23. GetDocument()->SetTitle(cHostName);  
  24. Sleep(90);  
  25. }  
  26. else  
  27. {  
  28. ASSERT(FALSE);    
  29. delete cSock;  
  30. cSock = NULL;  
  31. }  
  32. }  
  33. else  
  34. {  
  35. AfxMessageBox("不能创建socket", MB_OK);  
  36. }  
  37. }  

到此为止,整个项目的核心代码就介绍完毕了。为节省本书的篇幅,没有对其他代码进行讲解,读者只需参考本书的附带光盘即可了解。

项目执行后的初始界面如图3-15所示。

 
图3-15  初始效果
依次单击"文件"→"连接远程服务器"命令后,弹出"Telnet服务器"对话框,如图3-16所示。
 
图3-16  "Telnet服务器"对话框
在如图3-16所示的对话框中输入一个远程BBS地址后,即可访问此BBS服务器,如图3-17所示。
 
(点击查看大图)图3-17  连接到清华BBS