用java实现一个聊天程序

用java实现一个聊天程序

ID:4148450

大小:121.88 KB

页数:17页

时间:2017-11-29

用java实现一个聊天程序_第1页
用java实现一个聊天程序_第2页
用java实现一个聊天程序_第3页
用java实现一个聊天程序_第4页
用java实现一个聊天程序_第5页
资源描述:

《用java实现一个聊天程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西安电子科技大学软件学院Java技术用java实现一个聊天程序刘惠目标¢复习知识¢结合具体应用,将各个分离的知识点有机的结合。¢结合具体应用,经历分析,设计,编码,测试这几个步骤,掌握软件开发的一般方法。问题陈述实现一个聊天程序功能分析¢用户注册¢用户登陆¢一个聊天室¢多个客户同时聊天¢不能重复登陆¢每个人能够看到当前聊天室的情况,有多少人,都有哪些人在聊天。¢多个聊天室¢能够私聊需要的技术点¢语言基础知识¢网络通信¢GUI¢多线程¢JDBC¢I/O¢一些基本类库网络通信(服务器端)在此聊天室应用程序中,创建一个套接

2、字,用它建立与其他机器的连接。从套接字得到的结果是一个InputStream以及OutputStream,以便将连接作为一个IO流对象对待。有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;Socket,客户用它初始一次连接。一旦客户申请建立一个套接字连接,ServerSocket就会返回(通过accept()方法)一个对应的服务器端套接字,以便进行直接通信。此时可以利用getInputStream()及getOutputStream()从每个套接字产生对应的InputStream和

3、OutputStream对象。但这些数据流必须封装到缓冲区内。聊天协议设计¢为了编写客户-服务器应用程序,必须建立两个程序:客户和服务器。在这两个程序中,必须定义这两个应用程序将如何通信。客户和服务器进行通信所必须遵守的规则就是协议。协议定义客户-服务器程序如何交户。¢首先客户连接到服务器,而服务器则以一条指示聊天室目前在线用户名的信息响应该客户,并同时通知其他客户有新客户加入。然后,客户能够向服务器请求发送对话消息给聊天室内的任何人。服务器则可以响应他的请求。最后,客户会要求结束对话,而服务器中止该连接,并通知其他

4、客户该客户已离开的信息。聊天协议协议形式发送端功能LOGON

5、name

6、passwd客户端客户端向服务器请求连接REGISTER

7、name

8、passwd客户端客户端向服务器注册新用户QUIT客户端客户端准备断开连接MSG

9、name

10、message客户端客户向服务器发送聊天信息TAKEN

11、name服务器向请求连接客户发送用户名已被用信息NOTEXIST

12、name服务器向客户说明登录用户名不存在EPASSWD

13、name服务器向客户说明密码错误JOIN

14、name服务器向客户端发送新加入客户名LEAVE

15、name服务器向客户

16、端发送离开的客户名MSG

17、name1对name2说

18、message服务器向客户端发送name1对name2的聊天信息PEOPLE

19、n

20、name(1)

21、…

22、name(n-1)服务器向新连接的客户发送聊天室客户的相关信息流I/O操作的设计¢在Java中,能够读取一个字节序列的对象称作一个输入流;能够写一个字节序列的对象则称作一个输出流。因为面向字节的流不方便用来处理存储为Unicode(每个字符使用两个字节)的信息,而聊天程序不可避免会用到汉字传输,所以应该使用用来处理Unicode字符的类层次,这些类派生自抽象类Rea

23、der和Writer,它们用于读写双字节的Unicode字符,而不是单字节字符。¢类StringToKenizer允许应用程序将字符串分解为一个个标记(单词)程序界面设计¢Swing¢事件处理线程设计¢此聊天程序允许多个客户同时在聊天室中,这样服务器需要同时处理多个客户的请求。因此,解决这个问题的关键就是多线程处理机制。程序中为每一个客户建立一个客户线程,这样就可以实现多客户同时在线工作。JDBC¢记录登陆用户扩充¢多个聊天室¢支持私聊

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

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

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