计算机网络聊天室课程设计.docxVIP

  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文档。上传文档
查看更多
《计算机网络》课程 设计报告 设计题目: 聊天室 同组人姓名: 王巍瑾 马志超 周 加」 同组人学号: 20151515105 20151515104 20151515138 专业班级: 计科153 指导教师: 金松林 日 期: 2017年6月12日一16日 —、题目意义和需求分析 题目意义 即时通讯或在线聊天是目前In ternet上最为流行的通讯方式,用户之间通过 文字传输信息。这是一种可以让使用者在网络上建立私人聊天室的实时通讯服 务。除了简单的文字信息,使用者之间还可以互相发送文件、文档、音乐、视频 等文件。只要与服务器链接,无论对方在天涯海角,双方隔得多远都没有问题。 消息的实时更新,拉近了我们相知的桥梁,文件的相互传输,使同事之间办 公更方便快捷。 需求分析 注册 当选择注册时,创建一个 File文件类,载入“ user.txt”,判断用户名是否 已经存在,用户名有效后写入“ user.tx” 登录 去“user.txt”读取用户数据,验证用户名是否存在,验证用户密码是否正 确,如果以上验证全部正确,返回客户端信息,提示登陆成功进入聊天界面。 聊天 所有已登录的用户的名称都会在列表中显示, 然后就可以选择其中一个或 多个发起聊天。 接收用户聊天信息,当用户发送聊天信息时,服务端将会收到客户端用 Socket传输过来的聊天信息对象,然后将其转换为Message寸象,返回聊天信 息,然后系统从 Message中提取消息类型,再根据类型将消息转化后通过 Socket转发到相应的用户。 文件传输 在聊天的基础上增加了一个文件传输功能。 同事之间办公难免有一些资料的来往,在登录列表中选择一个用户或多个 用户发送文件,等对方确认接收后即可建立连接进行文件传输。 二、设计说明 聊天室总体分为三个模块,主要包括注册登录,聊天模块,文件传输模块。 系统运行在java环境中,要求java环境为JDK 1.8+; 设计中的重点是通过Java中的ServerSocke搭建TCP服务器,通过在客户端 创建Socket套接字连接服务器,然后通过ObjectOutputStream来发送Message数 据消息的封装类)对象让服务器接受。通过线程来存储来存储用户的 Socket连接 状态,接受并处理用户发过来的信息,返回处理信息。客户机也通过线程来接受 服务器的处理数据做出响应 设计的难点是文件的传输,首先通过原有的服务器获得目标客户机的 IP地 址和端口,然后在客户机上建立服务器,通过要发送的文件的客户机连接接受文 件的客户机用DatalnputStream和DataOutputStream来推送到输入、输出流。然 后客户机接受并保存。 三、系统详细设计 1.功能模块 聊天系统 账户聊天 账户 聊天 跟好友聊天向好友发送文件 跟好友聊天 向好友发送文件 2.流程图 结束 结束 注册 注册成功 聊天窗口 选择一个或多个好友 选择一个或多 个好友 双击 选择文件进行传输 等待对万确认 等待对万确认 Y 正在传输 In r 传输完成 四、程序源代码及注释 public ChatRoom(Stri ng u_n ame, Socket clie nt) { //赋值 n ame = u_n ame; clie ntSocket = clie nt; on li nes = new Vector(); setTitle( name); setResizable(false); setDefaultCloseOperatio n(JFrame.DO_NOTHING_ON_CLOSE); setBou nds(200, 100, 688, 510); conten tPa ne = new JPa nel(); setC onten tPa ne(c onten tPa ne); con te ntPa ne.setLayout( nu II); //聊天信息显示区域 JScrollPa ne scrollPa ne = new JScrollPa ne(); scrollPa ne.setBou nds(10, 10, 410, 300); getC on te ntPa ne().add(scrollPa ne); textArea = new JTextArea(); textArea.setEditable(false); textArea.setLi neWrap(true);/激活自动换行功能 textArea.setWrapStyleWord(true);激 活断行不断字功能 textArea.setFo nt(new Fo nt(sdf, Fon t.BOLD, 13)); scrollPa ne.setViewportView(tex

文档评论(0)

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

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

1亿VIP精品文档

相关文档