基于RMI和Socket的Java聊天软件
【基于RMI和Socket的Java聊天软件】RMI定义远程方法提供给客户端调用
定义的接口:(需要实现
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.util.ArrayList;
public interface ServerMethod extends Remote {
/**
*RMI方法
* 登录 登录成功返回true 否则返回false
* @paramUID用户UID
* @paramPassword 用户密码
* @see boolean
*/
public boolean Login(String UID,String Password) throws RemoteException, SQLException;
//登录
/**
*RMI方法
* 注册 注册成功返回true 否则返回false
* @paramUID用户UID
* @paramPassword 用户密码
* @param Nickname 昵称
* @see boolean
*/
public boolean Register(String UID ,String Password,String Nickname)throws SQLException,RemoteException;
//注册
/**
*RMI方法
* 获取存在数据库的未读消息
* @paramUID用户UID
* @see ArrayList
*/
public ArrayList getDBMessage(String UID) throws SQLException,RemoteException;
//获取存储在数据库的消息
/**
*RMI方法
* 获取好友列表
* @paramUID用户UID
* @see ArrayList
*/
public ArrayList getAllFriends(String UID) throws SQLException,RemoteException;
//获取好友列表 格式: UID:Nickname
/**
*RMI方法
* 发送消息
* @paramUID发送者UID
* @param Nickname 昵称
* @paramReceiveID 接收者ID
* @param content内容
* @see ArrayList
*/
public boolean SendMessage(String UID,String Nickname,String ReceiveID,String content) throws SQLException,RemoteException;
//对方还不是好友,则发送失败
/**
*RMI方法
* 获取实时消息
* @paramUID用户UID
* @see ArrayList
*/
publicArrayList GetMessage(String UID) throws Exception;
//实时消息获取
/**
*RMI方法
* 发送群聊消息 [Skrill下载](https://www.gendan5.com/wallet/Skrill.html)发送成功返回true
* @paramUID发送者UID
* @paramNickname 昵称
* @paramGroupUID 群组UID
* @paramcontent 内容
* @see boolean
*/
public boolean SendMessageToGroup(String UID,String Nickname,String GroupUID,String content)throws SQLException,RemoteException;
//向群聊发送消息
/**
*RMI方法
* 发送群聊消息 发送成功返回true
* @paramSendUID发送者UID
* @paramNickname 昵称
* @paramReceiveUID 接收者UID
* @paramcontent 内容
* @see boolean
*/
public boolean AddFriendsRequest(String SendUID,String ReceiveUID,String Nickname,String content)throws SQLException,RemoteException;
//发送添加好友请求
/**
*RMI方法
* 删除关系
* @paramID1 ID2
* @paramID2 ID1
*/
public void DeleteFriend(String ID1,String ID2)throws SQLException,RemoteException;
//删除关系
/**
*RMI方法
* 新建群聊
* @paramSendUID ID2
* @paramGID ID1
*/
public boolean NewGroup(String SendUID,String GID)throws SQLException,RemoteException;
//新建群聊
/**
*RMI方法
* 添加群聊
* @paramUID 用户ID
* @paramGID 群聊ID
*/
public void AddGroup(String UID,String GID)throws SQLException,RemoteException;
//添加群聊 无需验证
/**
*RMI方法
* 修改昵称
* @paramUID 用户ID
* @paramnewNickname 新用户昵称
* @seeboolean
*/
public boolean ChangeNickname(String UID,String newNickname)throws SQLException,RemoteException;
//修改昵称
/**
*RMI方法
* 修改密码
* @paramUID 用户ID
* @paramnewPassword 新密码
* @seeboolean
*/
public boolean ChangePassword(String UID,String newPassword)throws SQLException,RemoteException;
//修改密码
/**
*RMI方法
* 获取用户消息
* @paramUID 用户ID
*/
public String getUserInfo(String UID)throws SQLException,RemoteException;
//获取用户信息 若为群组返回 G:GID 若为用户返回 U:UID:Nickname
/**
*RMI方法
* 同意添加好友
* @paramSendUID 发送者ID
* @paramReceiveUID 接收者UID
*/
publicvoid AgreeAddFriendRequest(String SendUID,String ReceiveUID)throws SQLException,RemoteException;
/**
*RMI方法
* 拒绝添加好友
* @paramSendUID 发送者ID
* @paramReceiveUID 接收者UID
*/
publicvoid RefuseAddFriendRequest(String SendUID,String ReceiveUID)throws SQLException,RemoteException;
}
推荐阅读
- 急于表达——往往欲速则不达
- 第三节|第三节 快乐和幸福(12)
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 樱花雨
- 前任
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2020-04-07vue中Axios的封装和API接口的管理