77范文网 - 专业文章范例文档资料分享平台

基于远程方法调用的聊天室软件设计与实现—毕业论文(4)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

时候的服务器端是等待客户端进行连接。

RMI应用的创建

(1)创建远程接口模块:创建远程算法的接口,继承自Java rmi Remote (2)创建远程类:实现远程接口的所有算法

(3)创建服务器端程序:该部分在rmi registry注册表注册远程对象 (4)创建客户端接口:创建可供客户端使用的函数接口 (5)创建客户端类:实现客户端所需要的算法

4.2软件的总体设计与功能

基于Java RMI技术的远程聊天软件总体功能结构分为4个部分:服务器端,客户端,通讯模块,信息回看模块。

图4-1软件工作流程图

4.3服务器端设计与功能。

服务器端程序是远程聊天软件的主要组成部分之一,它主要实现为远程的客户端提供类似于桥的功能。能够为远程的客户端提供连接服务器,断开服务器,广播消息,查看远程消息的功能。 4.3.1服务器端的详细介绍

作为聊天软件的核心部分,承担着各个客户端连接,接收来自客户端的消息,广播客户端的消息,存储来自客户端的信息。

服务器端注册

通过在RMI的注册表中注册IP地址和端口,注册成功后服务器就处于等待连接状态。

(2)服务器广播消息

服务器端接收到信息后,通过广播函数,将某个客户端发来的信息发送给所有的客户端,客户端接收到消息,完成一次聊天。

(3)聊天信息的存储

服务器端接收到消息时,同时会将消息存储到软件的数据库中,将有利于用户查看历史聊天记录

4.3.2客户端程序介绍

客户端是直接与使用软件的用户进行直接的交互,在整个软件的系统中占主导地位。是整个软件系统的主要体现。在客户端上我们能够看到并且使用的功能有,连接到服务器,与服务器断开连接,发送聊天信息,查看历史聊天记录。 (1)连接到服务器

用户通过在服务器的姓名输入框中输入自己的姓名后,点击连接按钮与服务器建立联系,服务器会在这时候向聊天室的其他所有用户发送该用户加入聊天的信息,用户就可以发行聊天信息了。 (2)发送聊天信息

用户在于服务器建立有效的连接之后,在输入框中输入相应的聊天信息后 点击发送,服务器就可以将信息进行广播,让每一个在聊天室里的用户都可以 接受到聊天信息

(3)查看历史聊天记录

用户在结束聊天后可点击查看历史消息按钮查看所有聊天记录。 (4)断开与服务器连接

用户如果想结束聊天,只要点击断开连接按钮就可以退出聊天室,此时服务器会向所有用户发送该用户的退出消息。 4.4本章小结

本章主要介绍了软件的整个设计过程,主要技术的实现。讲述了RMI远程技术是如何搭建的,软件的框架构,整体运行流程,软件的连个主要核心部分的功能。通过设置本章,将有利于读者和用户了解和使用本聊天软件,能够让非专业的用户轻松地了解软件的运行过程和相关的功能。本章设计的必要性非常重要。

5.软件的主要设计实现

5.1软件开发环境的搭建

(1)JDK的安装,本软件的设计语言是Java开发语言,计算机环境需要有JVM支持,此次安装的JDK版本是1.8.0版本,安装完后在对环境变量进行配置其中有JAVAHOME PATH CLASSPATH等环境变量。

(2)MyEclipse安装,在windows7平台下安装软件,并设计代码,并导入相应的驱动包(jar包)。

5.2软件实现思路

经过上述的综合分析,基于Java RMI的远程聊天系统是客户端和服务器端通过TCP/IP协议进行通信的。所以需要两个独立的程序客户端和服务器端。软件的整体流程,在服务器端启动后,客户端的用户只要启动客户端程序,然后在最上部的对话框中输入用户姓名,点击连接按钮,此时只要网络没有问题用户就可以有效的连接到服务器上,这时候服务器会对已经在聊天室中的用户发送新用户加入的提示,此时就可以进行聊天了。

5.2.1服务器端设计 (1)服务器端设计

public interface Chatv2Server extends Remote{

public void addClient(Chatv2Client client,String msg) throws RemoteException;//定义添加函数

public void removeClient(Chatv2Client client,String msg) throws RemoteException;//删除用户函数

public void sendMessage(Chatv2Client client,String msg) throws RemoteException;发送信息函数

public void savve(Chatv2Client client,String name,String msg)throws RemoteException;//保存聊天信息函数

public void checkinfosavve(Chatv2Client client)throws RemoteException;

}//查看聊天记录函数 (2)远程接口的实现

//定义远程调用类,继承接口Chatv2Server

public class Chatv2ServerImpl extends UnicastRemoteObject implements Chatv2Server {

ArrayList list;

protected Chatv2ServerImpl() throws RemoteException { super();

list=new ArrayList(); }

@Override

//定义addClient函数

public void addClient(Chatv2Client client, String msg) throws RemoteException { if(!list.contains(client)){

for(int i=0;i

sendMessage((Chatv2Client)list.get(i),msg);

}

list.add(client); } }

@Override

//定义removeClient函数

public void removeClient(Chatv2Client client, String msg) throws RemoteException { if (list.contains(client)){

for(int i=0;i

sendMessage((Chatv2Client)list.get(i),msg); }

list.remove(client); } } @Override

//定义sendMessage函数,主要用于广播信息

public void sendMessage(Chatv2Client client, String msg) throws RemoteException { if(!list.contains(client)) return;

for(int i=0;i

if(user==null ||user==\ user=\ }

((Chatv2Client)list.get(i)).sendMessage(user+\\

} } @Override

//定义savve函数,用于存储聊天信息

public void savve(Chatv2Client client, String name, String msg) throws RemoteException { String user= new String(); String ms=new String(); user=name; ms=msg; Addinfo addin=new Addinfo(); addin.insert(user, ms); } @Override

//定义checkinfosavve函数,用于查看聊天记录

public void checkinfosavve(Chatv2Client client) throws RemoteException {

infoshow showw=new infoshow(); showw.check(); } (3)服务器端注册

public static void main(String[] args) { try{

// ChatServerImpl server=new ChatServerImpl(); // Naming.bind(\ // System.out.println(\

String url=\ //链接地址 LocateRegistry.createRegistry(8888); Chatv2ServerImpl server=new Chatv2ServerImpl(); Naming.rebind(url, server);

System.out.println(\ }

catch(Exception e) {

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于远程方法调用的聊天室软件设计与实现—毕业论文(4)在线全文阅读。

基于远程方法调用的聊天室软件设计与实现—毕业论文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/467176.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: