android中Socket通讯封包思路

本文探讨了在Android中使用Socket进行通信时的数据封包思路,通过自定义协议实现高效可靠的网络交互。
摘要由CSDN通过智能技术生成

以下代码注释是封装思路,根据自定义协议封装

public class PackageData {

    private byte SFR[] = {(byte) 0xAA,0x55}; //同步帧
    private byte length; //数据包长度,变长
    private byte[] crc; //crc校验
    private byte[] DID; // 设备ID;
    public byte type; //操作类型;
    public byte[] data;


    public PackageData(){
    }

    public PackageData(byte type){
        this.type = type;
    }
    /**
     * 封装
     * @return
     */
    public byte[] pack(){//其中有封包顺序
        if (type == 0)
            throw new RuntimeException("Please set up the type");
        if (data == null) {
            data = new byte[0];
        }
        byte[] d = combine();                                           //合并数据区(设备ID、操作类型、数据)
        crc = CRCUtils.GetCRC(d,d.length);                              //获取crc验证
        length = (byte) d.length;                                       //获取数据包长度
        byte[] data = new byte[d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值