当前位置:
文档之家› 基于CS简单聊天程序课程设计
基于CS简单聊天程序课程设计
newUser.append(":"+);
}
sendClients(newUser);
}
public static void sendClients(StringBuffer message){
for(int i =0;i<clients.size();i++)
{
Client client=(Client)clients.elementAt(i);
(1)登录聊天室;
(2)启动服务器;
(3)关闭服务器;
(4)用户之间的聊天;
(5)退出聊天室。
本系统其体功能需求如下:
(1)聊天室管理员经登录界面登录到管理界面,即系统的服务器端。用户经登录界面进入聊天大厅。
(2)不论是管理员还是用户都需要在登录界面输入正确的用户名和密码后才能够登录到各自的界面中去。
(6)服务器状态,聊天信息和在线用户人数及时刷新。
(7)聊天室系统运行稳定、安全性高、
三、过程论述
3.1 服务器端
(1)首先实现的是服务器开始工作界面,如图3-1所示:
图3-1
代码如下:
public ChatServer() {
try {
System.out.println("服务器开始工作......");
图3-2
代码如下:
public static void notifyChatRoom(){
StringBuffer newUser=new StringBuffer("newUser");
for(int i =0;i<clients.size();i++){
Client c=(Client)clients.elementAt(i);
[3]谢钧,谢希仁.《计算机网络教程》(第四版)[M].北京:人民邮电出版社, .
[4]李刚.《疯狂JAVA讲义》[M].(第三版).北京:电子工业出版社, .
[5]耿祥义、张跃平.《Java2实用教程》[M].(第三版).北京:清华大学出版社, .
[6]刘海杰.《Java编程设计》[M].北京:中国铁道出版社, .
进
度
安
排
起止日期
工作内容
6.13-6.18
设计聊天室的模型,布局
6.19-6.20
编写代码,初步实现聊天程序
6.21-6.26
完善代码,优化界面,完成任务
主
要
参
考
资
料
[1]赵生慧.《Java面向对象程序设计》(第二版)[M].北京:中国水利水电出版社, .
[2]万常选.《数据库系统原理与设计》(第二版)[M].北京:清华大学出版社, .
指导教师
意见
(签字):年月日
系(教研室)主任意见
(签字): 年月日
基于C/S模式的简单聊天程序设计说明书
பைடு நூலகம்学院名称:计算机与信息工程学院
班级名称:网络工程142
学生姓名:张 三
学 号:211540
题 目:基于C/S模式的简单聊天程序
指导教师
姓 名:陈 海 宝
起止日期:.6.13- .6.26
第一部分:正文部分
点击“连接”按钮实现与服务器的连接。点击“断开”按钮实现与服务器的断开连接。
(2)服务器聊天室具有启动服务器,停止服务器,显示当前在线的用户功能。点击“启动”按钮实现与服务器的连接。点击“停止”按钮实现与服务器的断开连接。
(3)设计一个登录程序。验证经过后才能进入聊天室。
(4)当服务器与客户机连接成功后。能够互相接受和发送消息。当多个客户机启动时,服务器会创立子线程处理对应线程的消息。三、项目设计(研究)思路
(1)设计步骤:先画出聊天室的模型,布局。
(2)设计要点:设计主类与子类,分别实现不同的功能
(3)主要技术分析:需要掌握socket通信,swing和awt,io的简单应用.
(4)解决思路:先按照草稿图设计出聊天室布局。再写各个类的功能。简单测试与修改代码。最后完善。
四、具体成果形式和要求
(见第一部分)
基于CS简单聊天程序课程设计
计算机网络课程设计任务书
学 院
计算机与信息工程学院
专 业
网络工程
课程名称
计算机网络
题 目
基于C/S模式的简单聊天程序
完成期限
自6月13日至6月26日共两周
内
容
及
任
务
一、项目的目的
利用socket。实现客户与服务器间的信息互通。
二、项目任务的主要内容和要求
(1)用户聊天室具有群发,私聊,输入昵称与端口号等基本设置。
客户端启动后在GUI界面接收用户输入的服务器端信息、账号和密码等验证客户的身份。验证经过则显示当前系统在线客户列表。客户能够与指定对象进行私聊,也能够向系统中所有在线客户发送信息。
二、方案论证
基于C/S的简单聊天室能够实现用户与服务器间,服务器与多个用户间的通信。
聊天室程序一般需要完成以下一些基本功能:
一、选题背景
使用Socket实现网上聊天功能。用户能够经过客户端连接到服务器端并进行网上聊天。聊天时能够启动多个客户端。
服务器端启动后,接收客户端发来的用户名和密码验证信息。验证经过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户(即私聊)或所有其它客户端;在客户断开连接后公告其退出聊天系统的信息。
clients.add(client);//增加客户线程到向量中
client.start();//启动线程
notifyChatRoom();//监视聊天室连接变化
}
}catch(Exception ex){
ex.printStackTrace();
}
}
(2)监视聊天室连接情况,并显示出来,如图3-2所示:
server=new ServerSocket(port);//初始化服务器套接字
while (true){
socket=server.accept();//等待连接
System.out.println(socket.getInetAddress()+"连接\n");//得到客户机地址
Client client=new Client(socket);//实例化一个客户线程(其中线程Client中Socket,这里的Socket只是起个过渡作用)
(3)系统的两个主要界面都是为方便管理员和用户操作的。首先,管理员进入到管理界面后能够方便的启动/停止服务器,看到在线用户的信息和聊天信息。用户进入到聊天大厅中能够聊天,查看服务器状态。
(4)一个用户退出聊天室对其它用户不能产生影响,而服务器断开与客户端的连接则所有的用户都失去与服务器的连接。
(5)用户的聊天信息录入,重写,发送,接收方便,快捷。