网站大量收购独家精品文档,联系QQ:2885784924

宣淦皓网络编.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
宣淦皓网络编

《网络编程》大作业 实验报告 题目: 基于Java的网络聊天室系统 姓名: 宣淦皓 班级: 计科1204 学号: 201216010425 指导教师: 魏蔚 完成时间: 2015-7-3 实验题目 基于Java的网络聊天室系统 实验目的 基于Java语言设计网络聊天室系统。通过使用Socket编程、多线程、非阻塞通信、序列化、远程方法调用(RMI)、安全通信、MVC设计模式等多种方法和理论,构建满足海量用户的网络聊天室系统,并了解和掌握上述知识点。 实验要求 经过对题目的分析,对系统做出了必要的需求分析。系统需要一个客户端、一个服务器端。在本程序中,程序既可以作为客户端也可以作为服务器。首先,登录系统,输入需要连接的IP和端口,这时如果只打开一个窗口,则会出现通讯错误的提示,因为没有服务器监听,供客户端连接。再打开一个程序窗口,此时进行连接的操作,提示连接成功。两个程序窗口之间建立连接。客户端通过下方的文本域输入消息,系统调用socket的相关函数,发送消息给另外一个客户端,然后另外一个客户端收到消息,完成一次通信。双方都具有收发消息的功能 1.基本功能 实现服务器监听,客户端连接,可进行多人会话的C/S聊天室。 2.服务器特点 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口。 (3).向已经连接到服务器端的用户发送系统消息。 3. 客户端特点 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的IP地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 1.4 功能实现 (1). 注册功能 (2). 登陆验证功能功能 (3). 客户通过服务器转发,实现聊天功能. (4). 实现公聊功能。 (5). 易用,美观的图形界面,实现系统托盘 程序架构图 程序代码 客户端代码: package Client; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Enumeration; import java.util.StringTokenizer; import java.util.Vector; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode;

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档