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

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

ID:47484477

大小:2.49 MB

页数:14页

时间:2020-01-12

计算机网络聊天室课程设计_第1页
计算机网络聊天室课程设计_第2页
计算机网络聊天室课程设计_第3页
计算机网络聊天室课程设计_第4页
计算机网络聊天室课程设计_第5页
资源描述:

《计算机网络聊天室课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《计算机网络》课程设计报告设计题目:聊天室同组人姓名:王巍瑾马志超周旭同组人学号:201515151052015151510420151515138专业班级:计科153指导教师:金松林日期:2017年6月12日—16日一、题目意义和需求分析1.题目意义即时通讯或在线聊天是目前Internet上最为流行的通讯方式,用户之间通过文字传输信息。这是一种可以让使用者在网络上建立私人聊天室的实时通讯服务。除了简单的文字信息,使用者之间还可以互相发送文件、文档、音乐、视频等文件。只要与服务器链接,无论对方在天涯海角,双方隔得多远都没有问题。消息的实

2、时更新,拉近了我们相知的桥梁,文件的相互传输,使同事之间办公更方便快捷。2.需求分析a.注册当选择注册时,创建一个File文件类,载入“user.txt”,判断用户名是否已经存在,用户名有效后写入“user.txt”。b.登录去“user.txt”读取用户数据,验证用户名是否存在,验证用户密码是否正确,如果以上验证全部正确,返回客户端信息,提示登陆成功进入聊天界面。c.聊天所有已登录的用户的名称都会在列表中显示,然后就可以选择其中一个或多个发起聊天。接收用户聊天信息,当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天

3、信息对象,然后将其转换为Message对象,返回聊天信息,然后系统从Message中提取消息类型,再根据类型将消息转化后通过Socket转发到相应的用户。d.文件传输在聊天的基础上增加了一个文件传输功能。同事之间办公难免有一些资料的来往,在登录列表中选择一个用户或多个用户发送文件,等对方确认接收后即可建立连接进行文件传输。二、设计说明聊天室总体分为三个模块,主要包括注册登录,聊天模块,文件传输模块。系统运行在java环境中,要求java环境为JDK1.8+;设计中的重点是通过Java中的ServerSocket搭建TCP服务器,通过在客

4、户端创建Socket套接字连接服务器,然后通过ObjectOutputStream来发送Message(数据消息的封装类)对象让服务器接受。通过线程来存储来存储用户的Socket连接状态,接受并处理用户发过来的信息,返回处理信息。客户机也通过线程来接受服务器的处理数据做出响应。设计的难点是文件的传输,首先通过原有的服务器获得目标客户机的IP地址和端口,然后在客户机上建立服务器,通过要发送的文件的客户机连接接受文件的客户机用DataInputStream和DataOutputStream来推送到输入、输出流。然后客户机接受并保存。三、系统

5、详细设计1.功能模块2.流程图注册向好友发送文件跟好友聊天登录聊天账户四、程序源代码及注释publicChatRoom(Stringu_name,Socketclient){//赋值name=u_name;clientSocket=client;onlines=newVector();setTitle(name);setResizable(false);setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);setBounds(200,100,688,510);contentPane=n

6、ewJPanel();setContentPane(contentPane);contentPane.setLayout(null);//聊天信息显示区域JScrollPanescrollPane=newJScrollPane();scrollPane.setBounds(10,10,410,300);getContentPane().add(scrollPane);textArea=newJTextArea();textArea.setEditable(false);textArea.setLineWrap(true);//激活自动换

7、行功能textArea.setWrapStyleWord(true);//激活断行不断字功能textArea.setFont(newFont("sdf",Font.BOLD,13));scrollPane.setViewportView(textArea);//打字区域JScrollPanescrollPane_1=newJScrollPane();scrollPane_1.setBounds(10,347,411,97);getContentPane().add(scrollPane_1);finalJTextAreatextArea

8、_1=newJTextArea();textArea_1.setLineWrap(true);//激活自动换行功能textArea_1.setWrapStyleWord(true);//激活断行不断字功能s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。