Param01.java
3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package com.bsth.socket.protocol;
import com.bsth.util.ConvertUtil;
import java.nio.ByteBuffer;
/**
* @author Hill
* 车载终端控制
* 0x01 远程升级命令参数
*/
public class Param01 implements IMessage82Param {
/**
* 升级url地址
*/
private String url;
/**
* 拨号点名称
*/
private String dialName;
/**
* 拨号用户名
*/
private String dialUsername;
/**
* 拨号密码
*/
private String dialPassword;
/**
* 地址(IP或域名 实际应该只能用IPV6或IPV4) 6
* IPV4时前两个字节为0
*/
private byte[] address = new byte[6];
/**
* 端口 0-65531
*/
private short port;
/**
* 生产厂商代码 4
* 大写英文字母、数字组合
*/
private String companyCode;
/**
* 硬件版本 5
*/
private String hardwareVer;
/**
* 固件版本 5
*/
private String firmwareVer;
/**
* 连接到升级服务器时限 0-60000
* 分辨率 1min
* 在时限前应连回远程服务与管理平台
*/
private short timeLimit;
@Override
public byte[] write() {
byte[] urlBytes = url == null ? new byte[0] : url.getBytes();
byte[] dialNameBytes = dialName == null ? new byte[0] : dialName.getBytes();
byte[] dialUsernameBytes = dialUsername == null ? new byte[0] : dialUsername.getBytes();
byte[] dialPasswordBytes = dialPassword == null ? new byte[0] : dialPassword.getBytes();
ByteBuffer buf = ByteBuffer.allocate(33 + urlBytes.length + dialNameBytes.length + dialUsernameBytes.length + dialPasswordBytes.length);
buf.put(urlBytes);
buf.putChar(';');
buf.put(dialNameBytes);
buf.putChar(';');
buf.put(dialUsernameBytes);
buf.putChar(';');
buf.put(dialPasswordBytes);
buf.putChar(';');
buf.put(address);
buf.putShort(port);
buf.put(ConvertUtil.string2ascii(companyCode, 4));
buf.put(ConvertUtil.string2ascii(hardwareVer, 5));
buf.put(ConvertUtil.string2ascii(firmwareVer, 5));
buf.putShort(timeLimit);
return buf.array();
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDialName() {
return dialName;
}
public void setDialName(String dialName) {
this.dialName = dialName;
}
public String getDialUsername() {
return dialUsername;
}
public void setDialUsername(String dialUsername) {
this.dialUsername = dialUsername;
}
public String getDialPassword() {
return dialPassword;
}
public void setDialPassword(String dialPassword) {
this.dialPassword = dialPassword;
}
public byte[] getAddress() {
return address;
}
public void setAddress(byte[] address) {
this.address = address;
}
public short getPort() {
return port;
}
public void setPort(short port) {
this.port = port;
}
public String getCompanyCode() {
return companyCode;
}
public void setCompanyCode(String companyCode) {
this.companyCode = companyCode;
}
public String getHardwareVer() {
return hardwareVer;
}
public void setHardwareVer(String hardwareVer) {
this.hardwareVer = hardwareVer;
}
public String getFirmwareVer() {
return firmwareVer;
}
public void setFirmwareVer(String firmwareVer) {
this.firmwareVer = firmwareVer;
}
public short getTimeLimit() {
return timeLimit;
}
public void setTimeLimit(short timeLimit) {
this.timeLimit = timeLimit;
}
}