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

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

来源:网络收集 时间:2026-08-26
导读: 网络系统集成课程结业论文(报告) } Node node=userInfoList.find(i); if(node==null) {i++; } try { node.output.writeObject(\聊天信息\); node.output.flush(); node.output.writeObject(msg); node.output.flu

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

}

Node node=userInfoList.find(i); if(node==null) {i++; } try {

node.output.writeObject(\聊天信息\); node.output.flush();

node.output.writeObject(msg); node.output.flush(); continue;

2.5 客户端主框类的实现

客户端主框架类实现了人机交互、用户登录、用户下线和聊天信息的发送功能。

客户端的主框架类为ClientFrame,其构造函数完成为客户端控件的添加、控件位置的调整、控件初始状态的设定以及控件事件侦听函数的添加。成员函数LogIn完成用户登录功能,LogOut完成用户下线功能,SendMessage用于发送聊天信息。

public void SendMessage() {

String toSomebody=combobox.getSelectedItem().toString(); String status=\;

if(checkbox.isSelected()) {

status=\悄悄话\; }

String action=actionlist.getSelectedItem().toString(); String message=textfield.getText(); if(socket.isClosed()) { } try {

output.writeObject(\聊天信息\);//发送聊天信息标识

output.flush();

output.writeObject(toSomebody);//发送聊天对象 output.flush();

output.writeObject(status);//发送聊天状态 output.flush();

output.writeObject(action);//发送聊天表情 output.flush();

output.writeObject(message);//发送聊天信息内容 return;

output.flush();

- 8 -

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

2.6

客户端接收线程类的实现

客户端接收线程类需要接收服务器发来的信息,并对该信息进行分析,执行相应的

操作。客户端收到的服务器信息有三种——聊天信息和系统信息、用户列表信息、服务关闭信息。客户端将接收到聊天信息和系统信息显示在界面上,接收到用户信息就对信息进行分析,获取在线用户列表,显示在界面组合框中,接收到关闭信息,则执行关闭操作。

命名客户端接收线程类为ClientReceiveThread,实现接收服务器信息的功能,主要在run函数中实现该类的功能。

public void run()//线程执行体

{sendUserList();

while(!isStop&&!client.socket.isClosed())//若套接字没有关闭,则一直执行循环体

{

try{

String type=( String)client.input.readObject();//读取服务器发送的聊天信息

if(type.equalsIgnoreCase(\聊天信息\)) { //处理聊天信息

String toSomebody=( String)client.input.readObject();//获取系统信息内容 String status=( String)client.input.readObject(); String action=( String)client.input.readObject(); String message=( String)client.input.readObject();

String msg=client.username+action+\对\+toSomebody+ \说\+message+\;//显示信息

3 附:源程序

- 9 -

附 录

参考文献

【Java语言与面向对象程序设计】 【Java编程案例解析】 【计算机网络通信教程】

附 录

- 10 -

附 录

(宋体小四号,1.25倍行距)(要求:附录的有无根据情况需要而定,内容一般包括正文内不便列出的冗长公式推导、符号说明(含缩写)、计算机程序、图纸、表格等。附录中有程序源代码的因篇幅限制可酌情考虑内容的字号。)

//用户信息链表类 import java.net.*; import java.io.*; public class Node { }

import javax.swing.*; import java.net.*; import java.io.*;

public class UserInfoList {

Node root; Node pointer; int count;

public UserInfoList() { }

root=new Node(); root.next=null; pointer=null; count=0;

String username=null; Socket socket=null;

ObjectOutputStream output=null; ObjectInputStream input=null; Node next=null;

public void add(Node n)

- 11 -

{

pointer=root;

附 录

}

public int getCount() { }

public Node find(String username) {

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

while (pointer.next!=null) {

pointer=pointer.next;

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

- 12 -

return count;

while (pointer.next!=null) { }

if (pointer.next==n) { }

pointer=pointer.next;

pointer.next=n.next; count--; break;

while(pointer.next!=null) }

public void del(Node n) {

pointer=root; {

pointer=pointer.next; }

pointer.next=n; n.next=null; count++;

…… 此处隐藏:931字,全部文档内容请下载后查看。喜欢就下载吧 ……
《计算机网络通信》课程设计报告(4).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)