- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 / 231 操作系统1实验报告 实 验 报 告 | | 实验名称 网络聊天室的实现 课程名称 计算机操作系统 | | 2 / 232 操作系统2实验报告 目 录 【1】 设计原理———————————————————————4 【2】 程序流程图——————————————————————9 【3】 设计步骤———————————————————————10 【4】 使用方法说明—————————————————————21 【5】 实验结果及分析————————————————————24 3 / 233 操作系统3实验报告 设计原理 计算机网络技术发展至今已经大大超越了人们当初的预想,无论是人们日常的工作还 是学习,我们都越来越多的依靠到互联网。各种实时性的聊天娱乐软件也同时诞生,而且 为我们的即时通讯带来了众多的方便,比如说大家所熟知的腾讯 QQ、微软的 MSN、移动 的 Fetion 等,都是做的比较成功的实时聊天工具。随着网络的日益普及,各种聊天工具也 层出不穷,接下来的课程设计就是针对一个简单的网络聊天程序,利用 MFC 为开发工具, 实现基本的通讯功能。 此程序主要分为两部分:服务器端和客户端。服务器端用于提供一个网络端口,等待 客户端发出请求,登录到此服务端,然后进行网络通讯和消息的转发;客户端可通过服务 器端的 IP 地址发送连接请求,然后登陆聊天室。在服务器端的成员列表栏中会显示在线的 所有人名单, 有人退出聊天室,成员列表会自动除名。服务器端同时也提供了成员之间的 私聊功能,此时服务器端作为一个转发站,进行消息的转发。整个程序的主体使用了 CSocket 类的方法,实现了网络通讯聊天。 整个程序设计为两个部分:服务器 (ChatServer)和客户端 (Chat) 多人聊天的关键在于要将每个客户端发送过来的消息分发给所有其他客户端,为了解 决这个问题,在服务器程序中建立一个套接口链表,用来保存所有与客户端建立了连接的 服务端口。下面描述了多人聊天的实现原理: 当客户端 Client N 向对应的服务端口 N 发送了消息 Message,服务端口 N 将 Message 复制给所有套接口列表(USERLIST)中的套接口缓冲区,然后向每个服务端口发送 WRITE 消息,使每个服务端口将 Message 发送给对应的客户端。这样,所有客户端就都获得了 Message 消息,实现了多人聊天功能。 BOOL CClientSocketList::Sends(char *buff,int n) {CClientSocket *curr=Head; while (curr) {curr-Send(buff,n); curr=curr-Next;} return true;} USERLIST 表时多人聊天程序的核心,它是一个动态变化的链表,为空表示没有客户端 建立了连接,不为空时每个元素就代表有一个客户端与服务器建立了连接。 4 / 234 操作系统4实验报告 以下程序是私聊功能的实现: BOOL CClientSocketList::OnlySend(char *buff,int n,int who) { CClientSocket *curr=Head; while (curr who0) {curr=curr-Next; who--;} curr-Send(buff,n); return true;} 以下是此程序的效果截图: 服务器端的效果截图 5 / 235 操作系统5实验报告 用户“yq”的登录界面 6 / 236 操作系统6实验报告 用户“zxl”的登录界面 7 / 237 操作系统7实验报告 功能描述 1 、 多人会话。 此程序分为服务器端和客户端, 当客户端要进入聊天室的时候, 就 必须通过网络连接到服务端, 以实现和其它客户端的通讯功能。 其中最简单的 一种通讯方式就是多人会话, 运用多线程同时对多个用户的信息进行监听, 服 务器通过转发消息,让所有人都可以得到消息,实现多人会话。 2 、 一对一会话。 此程序的服务器端除了能够提供多人会话的功能外, 还提供了私 人聊天功能, 可以实现一对一的聊天。 就是在消息转发的时候, 私聊的消息只 发给私聊的对象,而其他人看不到此消息,但是此消息会通过服务器端转发, 然后再到达目的客户端
有哪些信誉好的足球投注网站
文档评论(0)