高性能TcpServer - 1.網路通信協議 高性能TcpServer - 2.創建高性能Socket伺服器SocketAsyncEventArgs的實現(IOCP) 高性能TcpServer - 3.命令通道(處理:掉包,粘包,垃圾包) 高性能TcpServer - 4.文件通道(處理:文件分包 ...
高性能TcpServer(C#) - 2.創建高性能Socket伺服器SocketAsyncEventArgs的實現(IOCP)
高性能TcpServer(C#) - 3.命令通道(處理:掉包,粘包,垃圾包)
高性能TcpServer(C#) - 4.文件通道(處理:文件分包,支持斷點續傳)
協議規範
通信採用GB2312編碼格式
數據包格式:
標示符=長度#設備編號#任務id#包類型#包內容#
備註:長度: 4位不足補0,從標示符#到#之間的長度大小
數據包範例
1. 包內容為空
HTEMP=0026#1533022506#Meter-001#01##
2. 包內容含有多個欄位
HTEMP=0043#1533022506#Meter-001#01#get-version@nb001#
3. 包內容含有多個欄位(欄位間用@分割,欄位內的數組用[{},{}])
HTEMP=0261#WaterMeter-001#1520557005#03#buildid=44@edmid=37@meter=1228@denddate=2018-02-05 17:36:22@[{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}]#
協議內容
一.心跳包 (包類型: 01)
HTEMP=0026#Meter-001#1533022506#01##
HTEMP=0028#Meter-001#1533022506#01#ok#
二.時間同步 (包類型: 02)
HTEMP=0026#Meter-001#1533022506#02##
HTEMP=0045#Meter-001#1533022506#02#2018-08-16 09:50:58#
三.數據上傳 (包類型: 03)
HTEMP=0256#Meter-001#1520557005#03#buildid=44@edmid=37@meter=1228@denddate=2018-02-05 17:36:22@[{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}]#
HTEMP=0048#Meter-001#1520557005#03#error@伺服器返回失敗!#
HTEMP=0028#Meter-001#1520557005#03#ok#
四.版本查詢 (包類型: 04)輸入:軟體類型(nb001) 輸出:版本號
HTEMP=0044#Meter-0001#1533022507#04#get-version@nb001#
HTEMP=0028#Meter-0001#1533022507#04#2#
五.軟體更新 (包類型: 05)輸入:軟體類型(nb001) 輸出:包數
HTEMP=0042#Meter-0001#1533022508#05#get-count@nb001#
HTEMP=0029#Meter-0001#1533022508#05#16#
六.軟體下載 (包類型: 06)輸入:包索引 輸出:包數據
HTEMP=0044#Meter-0001#1533022508#06#do-update@nb001@1#
HTEMP=0495#Meter-0001#1533022508#06#504B03041400000008007A640F4D6BEBFDBA000E00004D2E000007000000636F6D732E7079D51A6B73D356F6BB7FC55D7932926AC7D80EA1901DB10D8901CF244ED636FB189AF1C8D275A246B6BC924C603B9D816E29852DD09D6E976D0B944E4BB7B3DB02EDD22729FD3328099FF80B7BEE4B962C3BA4E36DBBAB99C4D23DCF7BCEB9F79C7BA4349A7C6612198E6975566750CF6F350E929194D5EE3AAE8FBC339EB8B59DD55540128FBED5C6E2BEED98CD9ED7F0D713033913B7AC0EF690EE21C3F393707647C0EC6E1446C3F57B7D2CF23412D337BA114C780A27835D4BB7C553CFB56DAB59CCB2DF#
七.版本更新 (包類型: 07)輸入:edmid@version 輸出:結果
HTEMP=0046#Meter-0001#1533022509#07#update-version@56@2#
HTEMP=0029#Meter-0001#1533022509#07#ok#