网络程序设计考试大作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
publicclassAllTalkFrameextendsJFrame;登录后进入群聊界面。
publicclassPointToPointTalkFrameextendsJFrame;私聊界面。
二。
设计思想:
利用socket与serversocket在客户端与客户端之间得通信,InputStreamInputStreamReader输入输出流进行信息得发送与接收。
ﻩﻩSocketclient=clientConnection、get(i);
ﻩﻩOutputStreamos=client、getOutputStream();
ﻩPrintStreamps=newPrintStream(os);
ﻩﻩﻩﻩps、println(s);
ﻩﻩﻩﻩ}
ﻩﻩ}while(flag);
ﻩﻩ//连接上就让HandleSocket去处理
ﻩﻩﻩﻩnewThread(hs)、start();
ﻩﻩﻩ}
ﻩ}catch(IOExceptione){
ﻩSystem、out、println(”客户连接服务器失败”);
ﻩ}
ﻩ}
}
ﻩ//内部类处理一个Socket,接收一个Client发送过来得消息,并且服务器原封不动得返回给所有客户端,客户端对消息进行过滤
主要函数:
publicclassServer;服务器得创建。
publicclassClient;客户端得创建.
publicclassMainextendsJFrame;登录界面得显示。
publicclassRegistextendsJDialog;注册界面得显示。
publicclassUserInformation;用户信息得保存与验证。
importjava、awt、Toolkit;
import java、awt、event、ActionEvent;
import java、awt、event、ActionListener;
import javax、swing、JButton;
importjavax、swing、JFrame;
import javax、swing、JLabel;
ﻩ}
ﻩ}
ﻩ//内部类,监听客户端就是否有连接到服务器,并将此客户端得Socket传递给HandleSocket进行处理,同时将client存放到List中,即clientConnection中
classSocketListenerimplementsRunnable{
ﻩpublicvoidrun(){
ﻩﻩclient、close();
}catch(IOExceptione){
ﻩﻩﻩSystem、out、println(”有一个客户断开与服务器得连接");
ﻩ}
ﻩ}

界面:
2.
代码:
package、qq、main;
importjava、awt、Color;
import java、awt、Dimension;
网络程序设计考试大作业
题目:聊天室程序
班级:
学号:
姓名:
成绩:
网络程序设计考试大作业ﻩ1
二。 程序设计思想及程序设计流程框图ﻩ3
三.主要代码及代码运行结果ﻩ4
1、启动服务器ﻩ4
2、登录ﻩ6
3、注册ﻩ10
4、 登录与注册判定ﻩ12
5、进入聊天界面ﻩ13
6、私聊页面17

背景:根据现在最流行得聊天工具QQ,模仿一部分主要功能来完成.
publicServer(){
ﻩtry{
server=newServerSocket(9999);
ﻩﻩﻩSystem、out、println("服务器已经启动");
ﻩ}catch(IOExceptione){
ﻩﻩe、printStackTrace();
ﻩﻩﻩSystem、out、println("服务器启动失败");
ﻩﻩﻩInputStreamis=client、getInputStream();
ﻩInputStreamReaderisr=newInputStreamReader(is);
ﻩBufferedReaderbr=newBufferedReader(isr);
ﻩﻩSystem、out、println(”第"+clientNum+”个客户端连接进入服务器");
ServerSocketserver;
ﻩstaticintclientNum=0;
ﻩ//存放与服务器连接上得对应得Socket,作用就是保存服务器与客户端之间得流,便于服务器给每个客户端进行回发消息
List〈Socket>clientConnection=newArrayList<Socket〉();
程序设计流程:
主页面:输入账号与密码,点击登录或者注册进入下一页面.
登录:判定就是否正确,正确则进去聊天界面.
注册:进去注册界面,成功则返回主页面。
进入聊天室:能发送信息让在线得所有人瞧到。
私聊界面:能与一个人单独聊天,信息只能被双方瞧到。
三.主要代码及代码运行结果
1
代码:
Fra Baidu bibliotekpublicclassServer{
ﻩﻩSocketclient;
ﻩﻩtry{
ﻩﻩﻩwhile(true){
ﻩclient=server、accept();
ﻩﻩﻩﻩﻩ//连接上一个就压入List中,即clientConnection中
ﻩﻩﻩﻩclientConnection、add(client);
ﻩﻩHandleSockeths=newHandleSocket(client);
ﻩﻩﻩﻩbooleanflag=true;
ﻩﻩStrings;
ﻩdo{
ﻩﻩﻩ//对用户发来得消息进行群发给客户端
ﻩﻩﻩﻩs=br、readLine();
ﻩﻩﻩﻩSystem、out、println(”接受到一个客户端消息:"+s);
ﻩﻩﻩfor(inti= 0;i〈clientConnection、size();i++){
import javax、swing、JOptionPane;
importjavax、swing、JPasswordField;
ﻩclassHandleSocketimplementsRunnable{
ﻩSocketclient;
ﻩHandleSocket(Socketclient){
ﻩthis、client=client;
ﻩﻩ}
ﻩpublicvoidrun(){
ﻩﻩtry{
ﻩﻩﻩﻩclientNum++;
ﻩﻩ//启用输入流
相关文档
最新文档