【Java框架】CSFramework:消息装箱与拆箱处理

以服务器为例,服务器接收到客户端消息:可以分为三类。

1.服务器与客户端基本互动

服务器接收到客户端,要理解对方消息前,必须约定通信方式,即信息必须加上双方理解的通信标记ECammand。

2.客户端调远程用服务器方法。

在理解客户端消息基础上,就可实现客户端远程调用。那么就需要标记具体调用方法action。

3.客户端对客户端消息转发

转发消息前提,需要知道目标地址,所以加入地址标记。

4.NetMessage

NetMessage 实现1、2、需求。
在这里插入图片描述

public class NetMessage {
    private ECammand cammand;
    private String action;
    private String message;
}
4.1 消息装箱处理
    @Override
    public String toString() {
        return cammand + ":" +  action + ":"  + message;
    }
4.2消息拆箱处理
public NetMessage(String info) {
        int index = info.indexOf(":");
        String cammand = info.substring(0, index);
        String subInfo = info.substring(index + 1);
        index = subInfo.indexOf(":");
        action = subInfo.substring(0,index);
        message = subInfo.substring(index + 1);
        this.cammand = ECammand.valueOf(cammand);
    }

5.Interactive

Interactive针对3需求,将NetMessage再包装后,加入源地址,及目标地址。
在这里插入图片描述

package edu.xupt.cs.core;

public class Interactive {
    private String sourceId;
    private String targetId;
    private String message;

    public String getSourceId() {
        return sourceId;
    }

    public String getMessage() {
        return message;
    }

    public Interactive setMessage(String message) {
        this.message = message;
        return this;
    }

    public Interactive setSourceId(String sourceId) {
        this.sourceId = sourceId;
        return this;
    }


    public String getTargetId() {
        return targetId;
    }

    public Interactive setTargetId(String targetId) {
        this.targetId = targetId;
        return this;
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值