网络多线程——多用户即时通信系统(1)——公共部分

需求分析

  1. 用户登录
  2. 拉取在线用户列表
  3. 无异常退出(服务端、客户端)
  4. 私聊
  5. 群聊
  6. 发文件
  7. 服务器推送新闻

通信系统示意图

在这里插入图片描述

客户端和服务端共有的类:Message、User

User 类:


package com.qqcommon;

import java.io.Serializable;

/**
 * @Author: Gin
 * @Description: 表示一个用户 / 客户信息
 * @Modified By: Gin
 * @Date: Created in 15:04 2021/10/13
 */
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    // 用户名、密码
    private String userId;
    private String passwd;

    // 无参构造器
    public User() {
    }

    // 构造器
    public User(String userId, String passwd) {
        this.userId = userId;
        this.passwd = passwd;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
}



Message 类:


package com.qqcommon;

import java.io.Serializable;

/**
 * @Author: Gin
 * @Description: 表示客户端和服务端通信时的消息对象
 * @Modified By: Gin
 * @Date: Created in 15:09 2021/10/13
 */
public class Message implements Serializable {
    private static final long serialVersionUID = 1L;
    private String sender;
    private String getter;
    private String content;
    private String sendTime;
    private String mesType;

    // 无参构造器
    public Message() {
    }

    // 构造器
    public Message(String sender, String getter, String content, String sendTime, String mesType) {
        this.sender = sender;
        this.getter = getter;
        this.content = content;
        this.sendTime = sendTime;
        this.mesType = mesType;
    }

    public String getSender() {
        return sender;
    }

    public void setSender(String sender) {
        this.sender = sender;
    }

    public String getGetter() {
        return getter;
    }

    public void setGetter(String getter) {
        this.getter = getter;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getSendTime() {
        return sendTime;
    }

    public void setSendTime(String sendTime) {
        this.sendTime = sendTime;
    }

    public String getMesType() {
        return mesType;
    }

    public void setMesType(String mesType) {
        this.mesType = mesType;
    }
}



MessageType 接口:


package com.qqcommon;

/**
 * @Author: Gin
 * @Description: 表示消息类型
 * @Modified By: Gin
 * @Date: Created in 15:13 2021/10/13
 */
public interface MessageType {

    // 1. 在接口中定义了一些常量
    // 2. 不同的常量的值,表示不同的消息类型
    String MESSAGE_LOGIN_SUCCEED = "1"; // 表示登陆成功
    String MESSAGE_LOGIN_FAIL = "2"; // 表示登陆失败


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值