瀏覽代碼

1.修改下行消息流水号按SIM来自增

2.修改文档
tags/v2.2.3^0
SmallChi(Koike) 5 年之前
父節點
當前提交
377b2c6cba
共有 35 個檔案被更改,包括 146 行新增5528 行删除
  1. +3
    -3
      README.md
  2. 二進制
      doc/808809补充协议.pdf
  3. 二進制
      doc/GBT-19056.pdf
  4. +0
    -5482
      doc/JT808.pdf
  5. 二進制
      doc/JTT.808-2019.PDF
  6. +49
    -0
      src/JT808.Protocol.Test/DependencyInjectionExtensionsTest.cs
  7. +22
    -0
      src/JT808.Protocol.Test/Internal/JT808MsgSNDistributedTest.cs
  8. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0001Test.cs
  9. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0002Test.cs
  10. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0003Test.cs
  11. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0100Test.cs
  12. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0102Test.cs
  13. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0104Test.cs
  14. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs
  15. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs
  16. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0201Test.cs
  17. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0500Test.cs
  18. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0704Test.cs
  19. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x0900Test.cs
  20. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x8001Test.cs
  21. +3
    -3
      src/JT808.Protocol.Test/MessageBody/JT808_0x8100Test.cs
  22. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x8103Test.cs
  23. +1
    -1
      src/JT808.Protocol.Test/MessageBody/JT808_0x8104Test.cs
  24. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8105Test.cs
  25. +2
    -2
      src/JT808.Protocol.Test/MessageBody/JT808_0x8300Test.cs
  26. +1
    -1
      src/JT808.Protocol.Test/Simples/Demo1.cs
  27. +1
    -1
      src/JT808.Protocol.Test/Simples/Demo3.cs
  28. +2
    -2
      src/JT808.Protocol.Test/Simples/Demo6.cs
  29. +1
    -1
      src/JT808.Protocol.Test/Simples/Demo7.cs
  30. +1
    -1
      src/JT808.Protocol/Interfaces/IJT808MsgSNDistributed.cs
  31. +11
    -5
      src/JT808.Protocol/Internal/DefaultMsgSNDistributedImpl.cs
  32. +1
    -1
      src/JT808.Protocol/JT808.Protocol.csproj
  33. +9
    -1
      src/JT808.Protocol/JT808.Protocol.xml
  34. +8
    -1
      src/JT808.Protocol/JT808Header.cs
  35. +11
    -3
      src/JT808.Protocol/JT808Package.cs

+ 3
- 3
README.md 查看文件

@@ -59,7 +59,7 @@ JT808Package jT808Package = new JT808Package();
jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId.位置信息汇报,
MsgNum = 126,
ManualMsgNum = 126,
TerminalPhoneNo = "123456789012"
};

@@ -197,8 +197,8 @@ var hex = data.ToHexString();

``` config
// 初始化配置
IJT808Config DT1JT808Config = new DefaultGlobalConfig();
IJT808Config DT2JT808Config = new DefaultGlobalConfig();
IJT808Config DT1JT808Config = new DT1Config();
IJT808Config DT2JT808Config = new DT2Config();
// 注册自定义消息外部程序集
DT1JT808Config.Register(Assembly.GetExecutingAssembly());
// 跳过校验和验证


二進制
doc/808809补充协议.pdf 查看文件


二進制
doc/GBT-19056.pdf 查看文件


+ 0
- 5482
doc/JT808.pdf
文件差異過大導致無法顯示
查看文件


二進制
doc/JTT.808-2019.PDF 查看文件


+ 49
- 0
src/JT808.Protocol.Test/DependencyInjectionExtensionsTest.cs 查看文件

@@ -0,0 +1,49 @@
using JT808.Protocol.Interfaces;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
using Xunit;

namespace JT808.Protocol.Test
{
public class DependencyInjectionExtensionsTest
{
[Fact]
public void Test1()
{
IServiceCollection serviceDescriptors = new ServiceCollection();
//1
serviceDescriptors.AddJT808Configure<DT1Config>()
.AddJT808Configure<DT2Config>();
IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();
//使用实例的方式获取
IJT808Config DT1JT808Config = serviceProvider.GetRequiredService<DT1Config>();
IJT808Config DT2JT808Config = serviceProvider.GetRequiredService<DT2Config>();
Assert.Equal("DT1", DT1JT808Config.ConfigId);
Assert.Equal("DT2", DT2JT808Config.ConfigId);
}

[Fact]
public void Test2()
{
IServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure(new DT1Config())
.AddJT808Configure(new DT2Config());
IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();
//使用实例的方式获取
IJT808Config DT1JT808Config = serviceProvider.GetRequiredService<DT1Config>();
IJT808Config DT2JT808Config = serviceProvider.GetRequiredService<DT2Config>();
Assert.Equal("DT1", DT1JT808Config.ConfigId);
Assert.Equal("DT2", DT2JT808Config.ConfigId);
}
public class DT1Config : GlobalConfigBase
{
public override string ConfigId { get; protected set; } = "DT1";
}
public class DT2Config : GlobalConfigBase
{
public override string ConfigId { get; protected set; } = "DT2";
}
}
}

+ 22
- 0
src/JT808.Protocol.Test/Internal/JT808MsgSNDistributedTest.cs 查看文件

@@ -0,0 +1,22 @@
using JT808.Protocol.Interfaces;
using JT808.Protocol.Internal;
using System;
using System.Collections.Generic;
using System.Text;
using Xunit;

namespace JT808.Protocol.Test.Internal
{
public class JT808MsgSNDistributedTest
{
[Fact]
public void Test1()
{
IJT808MsgSNDistributed JT808MsgSNDistributed = new DefaultMsgSNDistributedImpl();
var a=JT808MsgSNDistributed.Increment("1234");
Assert.Equal(1, a);
var a1 = JT808MsgSNDistributed.Increment("1234");
Assert.Equal(2, a1);
}
}
}

+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0001Test.cs 查看文件

@@ -16,7 +16,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端通用应答.ToUInt16Value(),
MsgNum = 1203,
ManualMsgNum = 1203,
TerminalPhoneNo = "012345678900",
},
Bodies = new JT808_0x0001


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x0002Test.cs 查看文件

@@ -18,7 +18,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "12345678900",
}
};
@@ -57,7 +57,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "12345678900",
},
Bodies= new JT808_0x0002()


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0003Test.cs 查看文件

@@ -14,7 +14,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端注销.ToUInt16Value(),
MsgNum = 1,
ManualMsgNum = 1,
TerminalPhoneNo = "12345678900",
}
};


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x0100Test.cs 查看文件

@@ -17,7 +17,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端注册.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "123456789",
},
Bodies = new JT808_0x0100
@@ -62,7 +62,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端注册.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "123456789",
ProtocolVersion=1,
},


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0102Test.cs 查看文件

@@ -59,7 +59,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端鉴权.ToUInt16Value(),
MsgNum = 12345,
ManualMsgNum = 12345,
TerminalPhoneNo = "12345678900",
},
Bodies = new JT808_0x0102


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x0104Test.cs 查看文件

@@ -16,7 +16,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.查询终端参数应答.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "123456789",
},
Bodies = new JT808_0x0104
@@ -65,7 +65,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.查询终端参数应答.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "123456789",
},
Bodies = new JT808_0x0104


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs 查看文件

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.查询终端属性应答.ToUInt16Value(),
MsgNum = 8888,
ManualMsgNum = 8888,
TerminalPhoneNo = "112233445566",
}
};


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x0200Test.cs 查看文件

@@ -65,7 +65,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
MsgNum = (ushort)i,
ManualMsgNum = (ushort)i,
TerminalPhoneNo = "1122334455"+i.ToString(),
};
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
@@ -300,7 +300,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
MsgNum = 8888,
ManualMsgNum = 8888,
TerminalPhoneNo = "112233445566",
};
JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200();


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0201Test.cs 查看文件

@@ -17,7 +17,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.位置信息查询应答.ToUInt16Value(),
MsgNum = 8888,
ManualMsgNum = 8888,
TerminalPhoneNo = "112233445566",
}
};


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0500Test.cs 查看文件

@@ -17,7 +17,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.车辆控制应答.ToUInt16Value(),
MsgNum = 8888,
ManualMsgNum = 8888,
TerminalPhoneNo = "112233445566",
}
};


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0704Test.cs 查看文件

@@ -17,7 +17,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.定位数据批量上传.ToUInt16Value(),
MsgNum = 8888,
ManualMsgNum = 8888,
TerminalPhoneNo = "112233445566",
}
};


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x0900Test.cs 查看文件

@@ -26,7 +26,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.数据上行透传.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "123456789",
},
Bodies = new JT808_0x0900


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x8001Test.cs 查看文件

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.平台通用应答.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "12345678900",
},
Bodies = new JT808_0x8001


+ 3
- 3
src/JT808.Protocol.Test/MessageBody/JT808_0x8100Test.cs 查看文件

@@ -15,7 +15,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端注册应答.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "012345678900",
},
Bodies = new JT808_0x8100
@@ -62,7 +62,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端注册应答.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "12345678900",
},
Bodies = new JT808_0x8100
@@ -109,7 +109,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端注册应答.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "12345678900",
},
Bodies = new JT808_0x8100


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x8103Test.cs 查看文件

@@ -27,7 +27,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.设置终端参数.ToUInt16Value(),
MsgNum = 10,
ManualMsgNum = 10,
TerminalPhoneNo = "123456789",
},
Bodies = new JT808_0x8103


+ 1
- 1
src/JT808.Protocol.Test/MessageBody/JT808_0x8104Test.cs 查看文件

@@ -14,7 +14,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.查询终端参数.ToUInt16Value(),
MsgNum = 1,
ManualMsgNum = 1,
TerminalPhoneNo = "12345678900",
}
};


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8105Test.cs 查看文件

@@ -16,7 +16,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端控制.ToUInt16Value(),
MsgNum = 1,
ManualMsgNum = 1,
TerminalPhoneNo = "12345678900",
},
Bodies = new JT808_0x8105
@@ -78,7 +78,7 @@ namespace JT808.Protocol.Test.MessageBody
jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId.终端控制.ToUInt16Value(),
MsgNum = 1,
ManualMsgNum = 1,
TerminalPhoneNo = "12345678900",
};
jT808Package.Bodies = new JT808_0x8105


+ 2
- 2
src/JT808.Protocol.Test/MessageBody/JT808_0x8300Test.cs 查看文件

@@ -16,7 +16,7 @@ namespace JT808.Protocol.Test.MessageBody
Header = new JT808Header
{
MsgId = Enums.JT808MsgId.文本信息下发.ToUInt16Value(),
MsgNum = 1,
ManualMsgNum = 1,
TerminalPhoneNo = "012345678900",
}
};
@@ -51,7 +51,7 @@ namespace JT808.Protocol.Test.MessageBody
{
MessageBodyProperty = jT808HeaderMessageBodyProperty,
MsgId = Enums.JT808MsgId.文本信息下发.ToUInt16Value(),
MsgNum = 1,
ManualMsgNum = 1,
TerminalPhoneNo = "012345678900",
}
};


+ 1
- 1
src/JT808.Protocol.Test/Simples/Demo1.cs 查看文件

@@ -27,7 +27,7 @@ namespace JT808.Protocol.Test.Simples
jT808Package.Header = new JT808Header
{
MsgId = Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
MsgNum = 126,
ManualMsgNum = 126,
TerminalPhoneNo = "123456789012"
};



+ 1
- 1
src/JT808.Protocol.Test/Simples/Demo3.cs 查看文件

@@ -40,7 +40,7 @@ namespace JT808.Protocol.Test.Simples
{ JT808Constants.JT808_0x0200_0x02,new JT808_0x0200_0x02{Oil = 125}}
}
});
jT808Package.Header.MsgNum = 1;
jT808Package.Header.ManualMsgNum = 1;
byte[] data = JT808Serializer.Serialize(jT808Package);
var hex = data.ToHexString();
//输出结果Hex:


+ 2
- 2
src/JT808.Protocol.Test/Simples/Demo6.cs 查看文件

@@ -94,7 +94,7 @@ namespace JT808.Protocol.Test.Simples
dt1Package.Header = new JT808Header
{
MsgId = 0x91,
MsgNum = 126,
ManualMsgNum = 126,
TerminalPhoneNo = "1234567891"
};
DT1Demo6 dT1Demo6 = new DT1Demo6();
@@ -106,7 +106,7 @@ namespace JT808.Protocol.Test.Simples
dt2Package.Header = new JT808Header
{
MsgId = 0x91,
MsgNum = 126,
ManualMsgNum = 126,
TerminalPhoneNo = "1234567892"
};
DT2Demo6 dT2Demo6 = new DT2Demo6();


+ 1
- 1
src/JT808.Protocol.Test/Simples/Demo7.cs 查看文件

@@ -28,7 +28,7 @@ namespace JT808.Protocol.Test.Simples
{
Time = DateTime.Parse("2019-12-02 10:10:10"),
});
jT808Package.Header.MsgNum = 1;
jT808Package.Header.ManualMsgNum = 1;
byte[] data = JT808Serializer.Serialize(jT808Package);
var hex = data.ToHexString();
Assert.Equal("7E8004400601000000001234567890120001191202101010517E", hex);


+ 1
- 1
src/JT808.Protocol/Interfaces/IJT808MsgSNDistributed.cs 查看文件

@@ -2,6 +2,6 @@
{
public interface IJT808MsgSNDistributed
{
ushort Increment();
ushort Increment(string terminalPhoneNo);
}
}

+ 11
- 5
src/JT808.Protocol/Internal/DefaultMsgSNDistributedImpl.cs 查看文件

@@ -1,15 +1,21 @@
using System.Threading;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
using JT808.Protocol.Interfaces;

namespace JT808.Protocol.Internal
{
internal class DefaultMsgSNDistributedImpl : IJT808MsgSNDistributed
{
int _counter = 0;

public ushort Increment()
ConcurrentDictionary<string, int> counterDict;
public DefaultMsgSNDistributedImpl()
{
counterDict = new ConcurrentDictionary<string, int>(StringComparer.OrdinalIgnoreCase);
}
public ushort Increment(string terminalPhoneNo)
{
return (ushort)Interlocked.Increment(ref _counter);
return (ushort)counterDict.AddOrUpdate(terminalPhoneNo, 1, (id, count) => count + 1);
}
}
}

+ 1
- 1
src/JT808.Protocol/JT808.Protocol.csproj 查看文件

@@ -14,7 +14,7 @@
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl>
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Version>2.2.2</Version>
<Version>2.2.3</Version>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">


+ 9
- 1
src/JT808.Protocol/JT808.Protocol.xml 查看文件

@@ -3129,7 +3129,15 @@
<summary>
消息流水号
发送计数器
占用四个字节,为发送信息的序列号,用于接收方检测是否有信息的丢失,上级平台和下级平台接自己发送数据包的个数计数,互不影响。
占用两个字节,为发送信息的序列号,用于接收方检测是否有信息的丢失,上级平台和下级平台接自己发送数据包的个数计数,互不影响。
程序开始运行时等于零,发送第一帧数据时开始计数,到最大数后自动归零
</summary>
</member>
<member name="P:JT808.Protocol.JT808Header.ManualMsgNum">
<summary>
手动消息流水号(only test)
发送计数器
占用两个字节,为发送信息的序列号,用于接收方检测是否有信息的丢失,上级平台和下级平台接自己发送数据包的个数计数,互不影响。
程序开始运行时等于零,发送第一帧数据时开始计数,到最大数后自动归零
</summary>
</member>


+ 8
- 1
src/JT808.Protocol/JT808Header.cs 查看文件

@@ -30,11 +30,18 @@ namespace JT808.Protocol
/// <summary>
/// 消息流水号
/// 发送计数器
/// 占用个字节,为发送信息的序列号,用于接收方检测是否有信息的丢失,上级平台和下级平台接自己发送数据包的个数计数,互不影响。
/// 占用个字节,为发送信息的序列号,用于接收方检测是否有信息的丢失,上级平台和下级平台接自己发送数据包的个数计数,互不影响。
/// 程序开始运行时等于零,发送第一帧数据时开始计数,到最大数后自动归零
/// </summary>
public ushort MsgNum { get; set; }
/// <summary>
/// 手动消息流水号(only test)
/// 发送计数器
/// 占用两个字节,为发送信息的序列号,用于接收方检测是否有信息的丢失,上级平台和下级平台接自己发送数据包的个数计数,互不影响。
/// 程序开始运行时等于零,发送第一帧数据时开始计数,到最大数后自动归零
/// </summary>
public ushort? ManualMsgNum { get; set; }
/// <summary>
/// 消息总包数
/// </summary>
public ushort PackgeCount { get; set; }


+ 11
- 3
src/JT808.Protocol/JT808Package.cs 查看文件

@@ -204,9 +204,17 @@ namespace JT808.Protocol
// 2.3.终端手机号 (写死大陆手机号码)
writer.WriteBCD(value.Header.TerminalPhoneNo, config.TerminalPhoneNoLength);
}
value.Header.MsgNum = value.Header.MsgNum > 0 ? value.Header.MsgNum : config.MsgSNDistributed.Increment();
// 2.4.消息流水号
writer.WriteUInt16(value.Header.MsgNum);
if (value.Header.ManualMsgNum.HasValue)
{
// 2.4.消息流水号
writer.WriteUInt16(value.Header.ManualMsgNum.Value);
}
else
{
// 2.4.消息流水号
value.Header.MsgNum = config.MsgSNDistributed.Increment(value.Header.TerminalPhoneNo);
writer.WriteUInt16(value.Header.MsgNum);
}
// 2.5.判断是否分包
if (value.Header.MessageBodyProperty.IsPackage)
{


Loading…
取消
儲存