




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告 课程名称:面向对象程序设计C+ 设计题目: 可隐藏式通信工具 专 业: 计算机科学与技术 姓 名: 学 号: 指导教师: 李 晓 虹 2016 年 1 月 10 日目录1、需求分析32、总体设计32.1应用程序结构图33、详细设计33.1、服务器端设计33.2、客户端设计53.3、可隐藏功能的实现74、调试及运行效果75、结果分析86、总结91、需求分析近年来,随着互联网的迅速发展,利用Internet进行网际间通讯,以及在网络电话、多媒体会议等这些对实时性要求严格的应用中成为研究的热点,而且已经是必需的了。Windows环境下进行通讯程序设计的最基本方法是应用Windows Sockets实现进程间的通讯,为此微软提供了大量基于Windows Sockets的通讯API,如WinSockAPI、WinInetAPI和ISAPI,并一直致力于开发更快、 更容易的通讯API,将其和MFC集成在一起以使通讯编程越来越容易。本实例重点介绍使用MFC的CSocket类编写网络通讯程序的方法,通过使用CSocket类实现了网络通信程序。随着应用程序的日益增多,受限于桌面屏幕的大小,应用程序一般都会以最小化的形式在后台运行,然而这样并不能给用户带来更加灵活和便捷的体验,多数时候反而会给用户带来一些麻烦。本基于CSocket类的可隐藏通信工具将应用程序在后台运行时做成隐藏形式,给用户更灵活的的使用方法。2、总体设计2.1应用程序结构图图 2-13、详细设计3.1、服务器端设计从CSocket编程模型知道,服务器端需要两种套接字,一个用来侦听连接请求,一个用来与请求连接的套接字建立连接。因此,为程序添加两个CSocket派生类:SSocListen和CSocRecv,它们与对话框类密切配合,共同完成程序所要求实现的功能。实现步骤如下:(1)、套接字与对话框类的关联。(2)、 给套接字添加读写信息的功能。(3)、在对话框中初始化套接字并侦听连接请求(4)、接受连接请求。(5)、接收信息。(6)、发送信息。部分代码如下:(1)、侦听请求if(m_pCSocListen=new CSocListen(this)if(m_pCSocListen-Create(1000)m_lst_log.AddString(等待连接);m_pCSocListen-Listen();elsem_lst_log.AddString(初始化失败,请重新启动程序);delete m_pCSocListen;elsem_lst_log.AddString(初始化失败,请重新启动程序);(2)、连接请求if(pCSocRecv=new CSocRecv(this-m_pDlgSocSvr)if(Accept(*pCSocRecv)pCSocRecv-m_pCSocFile = new CSocketFile(pCSocRecv);pCSocRecv-m_pCArcIn = new CArchive(pCSocRecv-m_pCSocFile,CArchive:load);pCSocRecv-m_pCArcOut= new CArchive(pCSocRecv-m_pCSocFile,CArchive:store);m_pDlgSocSvr-m_pCSocRecv = pCSocRecv;pCSocRecv = NULL;m_pDlgSocSvr-m_lst_log.AddString(连接成功!);m_pDlgSocSvr-m_lst_log.AddString(欢迎使用CSocket类的可隐藏通信工具!);m_pDlgSocSvr-m_btn_send.EnableWindow(TRUE);elsem_pDlgSocSvr-m_lst_log.AddString(试图连接客户端失败!);delete pCSocRecv;elsem_pDlgSocSvr-m_lst_log.AddString(连接套接字初始化失败!);3.2、客户端设计客户端只需要一个套接字,主要是发送信息。实现步骤如下:(1)、套接字与对话框类的关联。(2)、给套接字添加读写信息的功能。(3)、在对话框中初始化套接字并侦听连接请求(4)、接受连接请求。(5)、接收信息。(6)、发送信息。部分代码如下:(1)、建立连接m_lst_log.AddString(正在连接);if(m_pCSocSend=new CSocSend(this)if(m_pCSocSend-Create()/ 创建套接字 if(m_pCSocSend-Connect(localhost,1000)/ 服务器名称、端口号m_pCSocSend-m_pCSocFile = new CSocketFile(m_pCSocSend);m_pCSocSend-m_pCArcIn = new CArchive(m_pCSocSend-m_pCSocFile,CArchive:load);m_pCSocSend-m_pCArcOut = new CArchive(m_pCSocSend-m_pCSocFile,CArchive:store);m_lst_log.AddString(连接成功!);m_lst_log.AddString(欢迎使用CSocket类的可隐藏通信工具!);m_btn_send.EnableWindow(TRUE);elsem_lst_log.AddString(连接不成功!);delete m_pCSocSend;/ 清除socket所占内存elsem_lst_log.AddString(初始化失败,请重新启动程序);delete m_pCSocSend;/ 清除socket所占内存elsem_lst_log.AddString(初始化失败,请重新启动程序);3.3、可隐藏功能的实现在定时器中判断鼠标和窗体的位置,然后使用MoveWindow方法移动窗体,从而实现应用程序的隐藏或显示。在OnTimeer方法中实现鼠标在窗体位置上的实时检测,代码如下:void CSocSvrDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call defaultCRect rc;CRect rect;GetWindowRect(&rect);rc.CopyRect(&rect);CPoint pOint;GetCursorPos(&pOint);if(rect.top-3 & rect.top3 & !PtInRect(rect,pOint)rect.top=3-rect.Height();MoveWindow(rect.left,rect.top,rc.Width(),rc.Height();CDialog:OnTimer(nIDEvent);4、调试及运行效果先启动服务器端工程,再启动客户端工程),出现“连接成功”字样后,就可以互相发送消息了。 运行效果如下:图 4-1 通信功能的效果图图 4-2 隐藏功能效果图,隐藏(左),显示(右)5、结果分析从CSocket编程模型知道,服务器端需要两种套接字,一个用来侦听连接请求,一个用来与请求连接的套接字建立连接。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有机农业可持续包装创新创业项目商业计划书
- 森林温泉SPA养生度假村创新创业项目商业计划书
- 森林防火预警无人机创新创业项目商业计划书
- 生产设备故障诊断与预测维护创新创业项目商业计划书
- 精密数控雕刻中心企业制定与实施新质生产力项目商业计划书
- 2025年呼吸制氧项目合作计划书
- 统编版(2024)三年级上册道德与法治第13课 安全记心上 教案
- 2025年多发伤护理考试题及答案
- (新版)艺术设计师专业技能考试题库与答案
- 【2025年】安全员(C证)理论考试试卷【附答案】
- 2025年下半年四川广元青川县招聘事业单位工作人员18人重点基础提升(共500题)附带答案详解
- 人教版五年级数学上学期第三单元 小数除法综合提优卷(A)(含答案)
- 大庆市2025黑龙江大庆市机关事务服务中心所属事业单位选调工作人员10人笔试历年参考题库附带答案详解
- 电动机的PLC控制编程实例说课稿-2025-2026学年中职专业课-电器及PLC控制技术-智能设备运行与维护-装备制造大类
- 国企改革培训课件
- GB/T 4744-2013纺织品防水性能的检测和评价静水压法
- 等差数列的前n项和 完整版PPT
- JJF 1318-2011 影像测量仪校准规范-(高清现行)
- 小学信息技术五年级全册教案(全面完整版)
- 卫生部心血管疾病介入诊疗技术培训教材(共206页)
- 优才内经复习指导
评论
0/150
提交评论