教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

《计算机网络通信》课程设计报告(2)

来源:网络收集 时间:2026-08-26
导读: 网络系统集成课程结业论文(报告) 显示在界面上。如下图 1.5用户下线和通知 用户下线与用户登录一样,要涉及到客户端请求下线和服务器响应请求两个过程 用户单击客户端“下线”按钮,客户端就会向服务器发送下线请

网络系统集成课程结业论文(报告)

显示在界面上。如下图

1.5用户下线和通知

用户下线与用户登录一样,要涉及到客户端请求下线和服务器响应请求两个过程

用户单击客户端“下线”按钮,客户端就会向服务器发送下线请求,服务器接收后就胡释放与该用户的相关资源,并向其他用户发送该用户下线通知以及更新在线用户列表,如下图

- 3 -

网络系统集成课程结业论文(报告)

1.6 服务关闭

当服务器关闭服务时,就向所有在线用户发送服务器关闭信息,并且关闭所有与在线用户相连接的输入输出流和套接字,将且将界面调整到最初状态,如图()

客服端接收到服务器的关闭信息时,它将在界面上显示服务器关闭的提示信息,并且关闭与服务相连的输入输出流和套接字,删除在线用户列表,将界面调整到最初状

态,

2.

代码实现

2.1 用户信息链表的实现

用户信息链表类(UserInfoList)需要对实现对用户信息的添加、删除和查询功能。在实现UserInfoList类之前,先定义一个用于描述单个用户信息的数据结构Node类,并定义五个数据成员:用户昵称、套接字、输入流、输出流和Next指针。

public class Node {

String username=null;//用户昵称 Socket socket=null;// 套接字

ObjectOutputStream output=null;//输出流 ObjectInputStream input=null;//输入流

Node next=null;//保存链表中下一个节点的指针 }

在UserInfoList

的构造函数中,对UserInfoList的成员变量进行初始化

public UserInfoList() {root=new Node();

root.next=null;//创建链表的节点 pointer=null; count=0;}

为UserInfoList类添加成员函数add完成用户信息节点的添加功能。 public void add(Node n){

- 4 -

网络系统集成课程结业论文(报告)

pointer=root;//将游标指向根节点

pointer=pointer.next;}//将游标后移 pointer.next=n;//加入节点 n.next=null;

count++;}//计数器加一

while(pointer.next!=null){//判断是否链表尾部

为UserInfoList类添加成员函数del,完成用户信息节点的删除功能。

public void del(Node n){

pointer=root;//将游标指向根节点

while (pointer.next!=null){// 判断是否链表尾部

if (pointer.next==n){//判断当前节点是否为要删除节点

pointer.next=n.next;//删除节点 count--;//计数器减一 break;}

pointer=pointer.next;}}//将游标指向下一节点

为UserInfoList类添加成员函数getCount,提供返回链表中元素个数的功能:

public int getCount()

{

return count;//返回当前链表中元素的个数 }

为UserInfoList类添加成员函数find,完成在用户信息链表中查找指定元素的功能,为方便起见,定义两个find函数,入口参数分别为String和int。

public Node find(String username)

{ }

public Node find(int index) {

if (count==0) { }

if (index<0) {

return null; return null;

if (count==0)return null; pointer=root;

while (pointer.next!=null) { }

return null;

pointer=pointer.next;

if (pointer.username.equalsIgnoreCase(username)) { }

return pointer;

- 5 -

网络系统集成课程结业论文(报告)

}

}

}

pointer=root; int i=0;

while (i

if (pointer.next!=null) { } else { } i++;

return null;

pointer=pointer.next;

return pointer;

2.2 服务器主框类架的实现

服务器主框类架类需要实现人机交互功能、启动服务功能

关闭服务功能和发送系统信息功能。需要为工程添加服务器主框类,名命为ServerFrame,在ServerFrame类的构造函数中,完成为服务器控件的添加、控件位置的调整、控件的初始状态的设定及控件事件侦听函数的添加。添加函数init,在其中完成界面的初始化功能,在init函数中,除对事件进行添加和调整外,还对控件添加事件侦听器。如为关闭服务按钮添加侦听器:

jbStopServer.addActionListener( );

{ }

public void actionPerformed(ActionEvent e) { }

stopServer(); new ActionListener()

在ServerFrame中添加starrServer函数完成启动服务的功能,添加stopServer函数完成关闭服务的功能,添加sendStopToAll函数依次向所有在线用户发送服务器关闭消息,添加sendSystemMessage函数实现发送系统消息的功能,添加sendMsgToAll函数完成向所有在线用户发送系统消息的功能。

2.3服务器侦听线程类的实现 …… 此处隐藏:659字,全部文档内容请下载后查看。喜欢就下载吧 ……

《计算机网络通信》课程设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/519030.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)