聊天程序的设计报告计算机网络.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 设计原则 -------------------- 1 功能描述-4 设计步骤 ------------------------ 6 使用说明 --------------------- 17 实验结果与分析 ---------------------------- 20 设计原则 计算机网络技术的发展大大超越了人们原来的预期。无论是人们的日常工作还是学习,我们越来越依赖互联网。各种实时聊天和娱乐软件同时诞生,给我们的即时通讯带来了很多便利,比如腾讯、微软的MSN、移动飞信等,都是成功的实时聊天工具。随着网络的日益普及,各种聊天工具层出不穷,但是当我们学习 “TCP/IP协议与网络编程” 这门课程时,我们会觉得实现简单的网络通信并不难。下面的课程设计是针对一个简单的网络聊天程序,使用MFC作为开发工具来实现基本的通信功能。 该程序主要分为两部分: 服务器端和客户端。服务器端用于提供网络端口,等待客户端发出请求,登录服务器端,然后进行网络通信和消息转发。客户端可以通过服务器端的ip地址致连接请求,然后登录聊天室。在线的每个人都将显示在服务器端的成员列表列中。如果有人退出聊天室,会员名单会自动除名。服务器还提供成员之间的私人聊天功能。此时,服务器充当转发站以转发消息。整个程序的主体使用CSocket类的方法来实现网络通信和聊天。 整个程序被设计成两部分: 服务器 (ChatRoomServer) 和客户端 (ChatRoom) 多人聊天的关键是将每个客户端致的消息分发给所有其他客户端。为了解决这个问题,在服务器程序中建立了一组接口列表,以保存与客户端建立了连接的所有服务端口。下面介绍多人聊天的实现原理: 当客户端客户端N向对应的服务端口N致消息时,消息服务端口N将消息复制致集合接口列表 (USERLIST) 中的集合接口缓冲区,然后向每个服务端口致写入消息,从而每个服务端口将消息致致对应的客户端。这样,所有客户端都获得消息消息,并实现多人聊天功能。 BOOL CClientSocketList:: 致 (字符 * buff,int n) {CClientSocket * curr = 头; 时 (curr) {curr-Send(buff,n); curr = curr-Next;} 返回true;} 当USERLIST表时,它是多人聊天程序的核心。它是一个动态变化的链表。空表示没有客户端建立连接。当不为空时,每个元素都意味着客户端已经与服务器建立了连接。 以下程序为私聊功能的实现: BOOL CClientSocketList::OnlySend(char * buff,int n,int who) { CClientSocket * curr = Head; 时 (curr who0) {curr = curr-Next; 谁 --;} curr-Send(buff,n); 返回true;} 以下是本节目的效果截图: 服务器端效果截图 用户 “xiaoQ” 登录界面 用户 “小” 的登录界面 功能描述 多人会话。这个程序分为服务器和客户端。当客户端想要进入聊天室时,必须通过网络连接致服务器,以实现与其他客户端的通信功能。最简单的通信方式之一是多人会话,它使用多线程同时监视多个用户的信息。服务器转发消息,让每个人都能得致消息,实现多人会话。 一对一会话。该程序的服务器端不仅提供了多人对话的功能,还提供了私人聊天功能,可以实现1对1聊天。也就是说,当消息被转发时,私人聊天的消息只致致私人聊天的对象,而其他人看不致消息,但是消息会通过服务器被转发,然后致达目标客户端。 个性化昵称。为了区分用户,此程序还内容用户自定义个性化昵称。当用户登录时,用户可以为自己设置昵称,以便在多人会话期间被识别。同时,服务器端也会使用这个昵称作为客户端的登录标识,服务器管理员也会显示在其他用户的在线列表中。 4.服务器登录。服务器打开后,它处于侦听状态,在多个线程中工作,并接受来自每个用户的连接请求。客户端只需要输入服务器的ip地址,端口在服务器处自动生成。 开始 开始 着陆 等待客户端登录 客户端用户 创建子套接字 消息 聊天服务器 聊天客户端 消息 成功着陆 连接 致消息 显示 找致客户端并显示它 着陆失败 致ID和IP 设计步骤: 该聊天程序的实现工具是Visual C ++ 6.0 MFC,主要使用用于网络编程的CSocket类来实现网络通信功能。主程序分为两个部分: 在服务器端,界面如下图所示: 主要代码如下: (1) 使用CChatRoomServerDlg函数初始化服务器端 void CChatRoomServerDlg::OnPaint() {if (IsIconic()) {CPaintDC dc(t

文档评论(0)

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

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

1亿VIP精品文档

相关文档