You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.6 KiB
Go
81 lines
1.6 KiB
Go
2 weeks ago
|
package Common
|
||
|
|
||
|
import (
|
||
|
"strconv"
|
||
|
|
||
|
log "github.com/sirupsen/logrus"
|
||
|
)
|
||
|
|
||
|
type Compackets struct {
|
||
|
|
||
|
/// <summary>命令类型01表示命令包、02表示语音包、03表示同传包</summary>
|
||
|
CmdType byte
|
||
|
|
||
|
/// <summary>通道ID</summary>
|
||
|
ChnlID byte
|
||
|
|
||
|
/// <summary>单元地址</summary>
|
||
|
Addr byte
|
||
|
|
||
|
/// <summary>命令字</summary>
|
||
|
Cmd byte
|
||
|
|
||
|
/// <summary>命令字扩展</summary>
|
||
|
Const byte
|
||
|
|
||
|
/// <summary>命令数据1</summary>
|
||
|
ACmdData1 byte
|
||
|
|
||
|
/// <summary>命令数据2</summary>
|
||
|
ACmdData2 byte
|
||
|
|
||
|
/// <summary>命令数据3</summary>
|
||
|
ACmdData3 byte
|
||
|
|
||
|
/// <summary>命令数据4</summary>
|
||
|
ACmdData4 byte
|
||
|
|
||
|
/// <summary>包长高字节</summary>
|
||
|
LenH byte
|
||
|
|
||
|
/// <summary>包长低字节</summary>
|
||
|
LenL byte
|
||
|
|
||
|
//dataLength = aLenH*256 + aLenL;
|
||
|
|
||
|
/// <summary>数据长度</summary>
|
||
|
DataLength int
|
||
|
|
||
|
/// <summary>数据部分</summary>
|
||
|
Data []byte
|
||
|
|
||
|
/// <summary>ipAddress</summary>
|
||
|
IPAddress string
|
||
|
|
||
|
SocketID int64
|
||
|
}
|
||
|
|
||
|
func (o *Compackets) ToString() string {
|
||
|
|
||
|
defer func() {
|
||
|
if r := recover(); r != nil {
|
||
|
log.Error("ToString:", r)
|
||
|
}
|
||
|
}()
|
||
|
|
||
|
var stringBuilder string
|
||
|
stringBuilder += ("7E ")
|
||
|
//stringBuilder.AppendFormat("{0:X2} ", CmdType);
|
||
|
//stringBuilder.AppendFormat("{0:X2} ", ChnlID);
|
||
|
//stringBuilder.AppendFormat("{0:X2} ", Addr);
|
||
|
stringBuilder += strconv.FormatInt(int64(o.Cmd), 16) + " "
|
||
|
stringBuilder += strconv.FormatInt(int64(o.Const), 16) + " "
|
||
|
stringBuilder += strconv.FormatInt(int64(o.LenH), 16) + " "
|
||
|
stringBuilder += strconv.FormatInt(int64(o.LenL), 16) + " "
|
||
|
for _, vlue := range o.Data {
|
||
|
stringBuilder += strconv.FormatInt(int64(vlue), 16) + " "
|
||
|
}
|
||
|
return stringBuilder
|
||
|
|
||
|
}
|