基于Socket的聊天室.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文档。上传文档
查看更多
设计报告 课 程 设计名称 基于Socket的聊天室 专业班级 同组人姓名 同组人学号 实验日期 指导教师 成 绩 年 月 日 一、设计目的和要求 1、实验目的 网络聊天系统主要对象是局域网内的用户,使用交流更简单。设计本系统的目标如下: 一台电脑上能够同时登陆多个不同的用户。 进入聊天页面后用户在用户列表中可以看到在线用户。 用户登陆成功后如果需要私聊可以在界面中勾选“悄悄话”选择框进行私聊。 若用户需要群聊,可以在好友列表中选择所有人进行群聊。 2、实验要求 可以实现用户显示、公共聊天、私人聊天、系统消息提示等功能。 二、设计说明(包括设计分析,系统运行环境,设计中的重点和难点,输入和输出输出条件等) 聊天室主要由聊天室服务器和聊天室客户端组成。聊天室服务器负责管理与客户端的连接并发送消息给客户端;聊天室客户端负责接收或者发送聊天消息,登录聊天室服务器等。一个简单的服务器/客户机聊天室模型如图: 1.首先启动聊天室服务器,使得TcpListener开始监听端口,此时TcpListener会进入Pending状态,等待客户端连接; 2.其次,当有客户端连接后,通过AccepSocket返回与客户端连接的Socket对象,然后通过读写Socket对象完成与聊天室客户端的数据传输。聊天室客户端成功启动后,首先创建一个Socket对象,然后通过这个Socket对象连接聊天室服务器,连接成功后开通Socket完成数据的接收和发送处理。 聊天室服务器和聊天室客户端消息的传递是这样进行的: 2.1聊天协议的应答: 在本聊天协议中只定义了两种应答:OK和ERR。客户端收到OK应答时,表示前面发送的聊天命令执行成功;收到ERR应答时,表示前面发送的聊天命令执行失败; 2.1.1聊天状态: 聊天状态:CLOSED和CONNECTED状态。当执行CONN命令后就进入CONNECTED状态。只有在这个状态下才可以执行以下的聊天命令: CONN:连接聊天室服务器 JOIN:加入聊天(通知其他用户本人已经加入聊天室服务器) LIST:列出所有的用户(向客户端发送全部的登录用户名字) CHAT:发送聊天信息(公开的聊天信息) PRIV:进行私聊(三个参数:私聊信息用户;接收私聊信息用户;发送信息) EXIT:客户端向服务器发送离开请求; QUIT:退出聊天,服务器向客户端发送退出命令(执行QUIT命令聊天状态变为CLOSED) 在执行了QUIT命令后,聊天状态就会变为CLOSED的状态,此时客户端只能执行CONN命令再次登录聊天室服务器。 2.1.2 聊天命令 聊天命令主要有:CONN,JOIN,LIST,CHAT,PRIV和QUIT,下面分别介绍这些命令的定义和格式。 1)CONN命令: CONN命令连接聊天室服务器。当聊天室客户端和聊天室服务器建立了Socket连接后,会马上发送CONN命令。其命令格式如下: CONN|发送者的用户名:附件信息| CONN的参数为发送者的用户名,一般是用户用于聊天的昵称。如果昵称已经存在,就发送ERR命令,否则就发送OK命令。下面是两个CONN的链接过程,其中第一个是失败的连接过程,第二个是成功的链接过程: CONN|tom| -ERR|USER TOM ALREADY EXISTS CONN|tom| _OK 2)JOIN命令 JOIN命令用于通知用户加入聊天聊天室服务器。当一个用户登录到聊天室服务器后,服务器会发发送JOIN命令通知其他用户有新用户入聊天室服务器。JOIN的命令格式如下: JOIN|XXXX| JOIN的参数为刚刚登录到聊天室服务器的用户名,该命令可以不需要用户端的响应,客户端接收到该命名后一般就是更新界面,显示XXX已经加入聊天室。对于刚刚加入的用户,其状态会在收到JOIN命令后变为CONNECTED状态。 3)LIST命令 LIST命令用于向聊天室客户端发送全部的登录用户名字,以便于用户聊天室客户端上选择用户进行私聊。LIST命令的命令格式如下: LIST\USERNAME 1| USERNAME2|….| USERNAMEX| LIST命令的参数可以有很多,用户间用“|”分开,客户端接收到该命令后

文档评论(0)

rovend + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档