网站大量收购闲置独家精品文档,联系QQ:2885784924

聊天程序的分析与设计VC++课程设计说明书2.doc

聊天程序的分析与设计VC++课程设计说明书2.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 摘要………………………………………………………………………………… 一、聊天程序的分析与设计………………………………………………………1 二、该程序的关键技术与算法……………………………………………………2 三、程序的实现……………………………………………………………………3 3.1 项目创建……………………………………………………………………3 3.2 界面设计……………………………………………………………………3 3.3 代码编写……………………………………………………………………5 四、程序的演示结果………………………………………………………………29 五、总结与致谢……………………………………………………………………30 六、参考文献………………………………………………………………………31 摘要 在这个信息爆炸的时代,人们的交往越来越依赖于一些即时的聊天程序,比如QQ、MSN等,虽然这些程序形态各异,但本质都是一样的。他们都是由服务器聊天程序和客户端聊天程序组成。服务器端聊天程序接受客户端的信息,并根据客户端的要求把这些信息发送到另外一个客户或多个客户中。客户端则负责建立和维护与服务器端得连接,向服务器发送本客户端的内容,同时从服务器接收对方的响应。客户端可以手动输入IP地址和端口号进行连接。服务端可以手动建立服务器接受其他客户端得连接要求。客户端可以发送消息给服务端,显示服务端传来信息。服务端可以接受客户端发送的信息,并将信息传给所有在线的客户端。 聊天程序的分析与设计 系统架构方式如下图: 信息交互 服务端需要完成的3件事情 在特定的端口上等待来自客户的连接请求,并且需要维护一个客户连接表,以记录所有成功的连接。 及时接受从各个聊天客户发送过来的信息,然后把这些信息转发到一个或多个客户连接。 监控这些连接的状态,在客户主动离开或发生故障时从列表中删除相应的表项,并及时更新连接表。 客户端需要完成的3件事情 建立和维护与服务器的连接,并且随时检测连接的状态。 把用户输入的信息及时发送到服务端,同时,随时准备好接受服务端的信息,并把它显示出来。 在用户推出聊天过程时要关闭与服务器的连接。 该程序的关键技术与算法 MFC为套接字提供的类有CAsynSocket和CSocket,CAsynSocket提供基于异步通信的套接字封装功能,CSocket继承于CAsyncSocket。是Windows Socket API的高层抽样。它通常要和CSocketFile及CArchive这两个类混合使用。后两个类主要负责的是数据的发送和接收。CSocket提供的通信为同步通信,数据未接收到或是未发送完之前调用不会返回。本章的聊天程序就是通过派生CSocket来完成服务端和客户端功能。 程序的实现 3.1 项目创建 本例将使用Visual C++6.0创建一个基于对话框的MFC AppWizard(exe)项目 取名为“Chat”。在MFC向导的第一步界面中选择“Dialog based”单选按钮,在MFC AppWizard向导的第二步界面中选择“Windows Sockets”复选框,其它均采用默认设置。 3.2界面设计 打开IDD_CHAT_DIALOG对话框,该对话框将是程序运行时的主界面,以下是为对话框添加的控件。如下所示: IDD_CHAT_DIALOG对话框中的主要控件 ID 属性设置 分组框 IDC_STATIC 标题“” 静态文本 IDC_STATIC 标题“IP地址” IP地址控件 IDC_SERVERIP 默认 静态文本 IDC_STATIC 标题“端口” 编辑框 IDC_PORT 默认 分组框 IDC_STATIC 标题“聊天记录” 编辑框 IDC_SHOWTEXT 样式:多行,只读 静态文本 IDC_STATIC 标题“昵称” 编辑框 IDC_NAME 默认 命令按钮 IDC_CONNECT 标题“连接服务器” 命令按钮 IDC_SETSERVER 标题“建立服务器” 静态文本框 IDC_STATIC 标题“消息” 编辑框 IDC_INPUTTEXT 默认 命令按钮 IDC_SEND 标题 发送” 完成控件添加后的对话框如下图所示: 添加完上述控件后,打开Classwizard,为IDD_CHAT_DIALOG指向的CChatRoom

文档评论(0)

mx597651661 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档