Skip to content

Commit d1af0a9

Browse files
committed
修复命令编号解析时顺序不正确的BUG。
1 parent 9830e51 commit d1af0a9

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

Quick.Protocol/QpChannel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ public void SendCommandRequestPackage(string commandId, string typeName, string
393393
buffer[PACKAGE_HEAD_LENGTH - 1] = (byte)QpPackageType.CommandRequest;
394394
//写入指令编号
395395
var commandIdBufferOffset = PACKAGE_HEAD_LENGTH;
396-
var commandIdBuffer = Guid.Parse(commandId).ToByteArray();
396+
var commandIdBuffer = ByteUtils.HexDecode(commandId);
397397
Array.Copy(commandIdBuffer, 0, buffer, commandIdBufferOffset, commandIdBuffer.Length);
398398

399399
var typeNameByteLengthOffset = commandIdBufferOffset + 16;
@@ -435,7 +435,7 @@ public void SendCommandResponsePackage(string commandId, byte code, string messa
435435
buffer[PACKAGE_HEAD_LENGTH - 1] = (byte)QpPackageType.CommandResponse;
436436
//写入指令编号
437437
var commandIdBufferOffset = PACKAGE_HEAD_LENGTH;
438-
var commandIdBuffer = Guid.Parse(commandId).ToByteArray();
438+
var commandIdBuffer = ByteUtils.HexDecode(commandId);
439439
Array.Copy(commandIdBuffer, 0, buffer, commandIdBufferOffset, commandIdBuffer.Length);
440440
//写入返回码
441441
var codeByteOffset = commandIdBufferOffset + commandIdBuffer.Length;

Quick.Protocol/Utils/ByteUtils.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ namespace Quick.Protocol.Utils
66
{
77
public class ByteUtils
88
{
9+
public static byte[] HexDecode(string data)
10+
{
11+
var buffer = new byte[data.Length / 2];
12+
for (var i = 0; i < data.Length; i += 2)
13+
{
14+
buffer[i / 2] = byte.Parse(data.Substring(i, 2), System.Globalization.NumberStyles.HexNumber);
15+
}
16+
return buffer;
17+
}
18+
919
/// <summary>
1020
/// 字节数组 -> 整型数字(4字节)(大端字节序)
1121
/// </summary>

0 commit comments

Comments
 (0)