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

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

来源:网络收集 时间:2026-08-26
导读: 服务器侦听线程类需要侦听客户端的登录请求,并且为该用户启动专用线程,处理 与此用户相关的操作。首先为工程添加ServerListenThread类,继承其父类Thread,在 - 6 - 网络系统集成课程结业论文(报告) 这个类中

服务器侦听线程类需要侦听客户端的登录请求,并且为该用户启动专用线程,处理

与此用户相关的操作。首先为工程添加ServerListenThread类,继承其父类Thread,在

- 6 -

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

这个类中实现侦听客户端连接,并响应用户登录的功能。在这个类中最重要的功能是在run函数中实现的,当服务器启动时,就会建立侦听线程,并且调用start函数开始运行线程。

public void run(){//服务器侦听线程的执行体 while (!isStop&&!server.isClosed())

{

try {

client=new Node();//创建用户信息节点

client.socket=server.accept();//侦听客户端连接

client.output=newObjectOutputStream(client.socket.getOutputStream());

client.output.flush();//得到套接字输入输出流

client.input=newObjectInputStream(client.socket.getInputStream());

}

client.username=(String)client.input.readObject(); combobox.addItem(client.username);//读取用户昵称 userInfoList.add(client);

textarea.append(\+client.username+\上线\+\);//显示提示信息 textfield.setText(\在线用户\+userInfoList.getCount()+\人\\n\); recvThread=new ServerReceiveThread(

textarea, textfield, combobox, client,

userInfoList);

recvThread.start();//启动线程 }

2.4

服务器接收线程类的实现

服务器接收线程类需要接收客户端发来的信息,并且对该信息进行分析,执行相应操作。当服务器收到客户端发来的聊天信息,对发送对象进行判断,如果发送对象是所有用户,则将信息发给所有用户,同理,如果是特定用户就发给特定用户。当服务器接收到客户端发来的下线请求时,就关闭所有与该用户相关的输入输出流和套接字,并将该用户从在线列表中删除,此外,还需向所有在线用户发送该用户下线的通知和重发最新的列表。

首先为工程添加新类,命名为ServerReceiveThread,实现接收客户端信息的功能。方法和侦听线程差不多。它的成员函数sendToAll实现向所有在线用户转发聊天信息的功能 ,另一个成员函数sendUserList实现向所有在线用户发送用户列表的功能。

public void sendToAll(String msg)

{

int count=userInfoList.getCount(); int i=0; while(i

- 7 -

《计算机网络通信》课程设计报告(3).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)