C++项目报告 孙启云.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++项目报告 孙启云.doc

《》 实施报告 题目 (3): 聊天程序设计 组 号: 12 任课教师: 王瑞 组 长: 孙启云 成 员: 朱鸣 成 员: 都腾跃 成 员: 伍伟 成 员: 陈俊杰 联系方式: 二零一四 年 5月21日 目录 一.任务与要求 3 1.1 设计任务 3 1.2 设计要求 3 二.设计原理 3 2.1 软件和硬件环境 3 2.2使用MFC开发Windows应用程序基础知识 2.3 Windows套接字与CAsyncSocket、CSocket套接字类 2.4 MFC网络编程基础知识 4 三.聊天程序设计与界面设计 3.1 客户端程序与界面 3.2 服务器端程序与界面 3.3 整个聊天程序的运行流程 四.实验所遇问题及解决办法 23 五、小结与感想 24 六、小组成员分工明细 25 一.任务与要求 1.1 设计任务 自己设计应用层协议,实现聊天程序,要求能够实现服务器能够同时处理多个客户的连接请求,实现客户端通过服务器的转发通信。系统架构如下: 1.2 设计要求 服务器端: (1)建立socket绑定监听端口; (2)等待客户端的连接; (3)当客户与服务器建立连接后,服务器记录客户所有信息,如ID号; (4)当客户消息到达服务器后,服务器分析客户信息: a.若为转发消息,根据消息格式提供的转发ID号,服务器立即查找转发列表,转发消息,若查找后发现需要转发的客户ID不存在则返回错误信息给原客户,提示不存在要发送的客户端ID号; b.若为询问消息,服务器返回当前登录到服务器的所有客户的ID号; c.若为退出消息,服务器清楚当前客户的所有信息,更新客户列表; (5)以上2-4步都是随时进行的: a.任何新进客户端都能随时连接服务器; b.任何以连接客户端都能发送消息,并且服务器能同时处理多个同时到来的消息, 实现并发的处理客户端消息。 (6)当服务器停止工作时,关闭监听套接字。 客户端: (1)建立连接到服务器的socket; (2)发送登录信息,信息中需要包含自身的ID号,使服务器能识别本机; (3)使用信号机制,随时能接收服务器传来的消息,不阻塞,及时的显示到来信息,并记录到来信息,以方便用户查看聊天记录; (4)能随时向服务器发送消息,有三种消息: a.询问消息,询问服务器当前已连接到服务器的客户列表; b.转发消息,告知服务器需要转发的ID号和信息,通过服务器进行聊天; c.退出消息,告知服务器本客户端要退出聊天; (5)要获取当前以登录服务器的客户列表,则会发送询问消息,得到返回结果后更新本地的用户登录列表; (6)当想退出时,向服务器端发送退出消息后,关闭套接字,关闭程序。 二.设计原理介绍 2.1 软件和硬件环境 软件采用Visual C++ 6.0 即 Microsoft Visual C++ 6.0 VC6.0是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环

文档评论(0)

此项为空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档