經過一段時間的努力,一套簡單的交互信息(Session)服務開源套件終於開發到告一段落了。
套件使用簡單的交互協議解決跨服務器的Http交互信息及協作
服務端內使用Sid-Item(Key-Value)的內存存儲形式來維持交互信息的存儲和提取
通訊協議
本服務端只爲解決Http交互信息處理,因此協議相對簡單隻分爲操作交互標識、設置和獲取。
連接密碼驗證
使用PWD命令驗證連接密碼,使用$指定連接密碼,客戶端發送的命令如下:
PWD\r\n
$6\r\n
000000
服務端收到後則返回一個以+號(成功)或-號(失敗)開頭的命令加相關數據的形式返回
成功返回的示例(+號後面的數字爲0則標識不帶信息):
+0\r\n
失敗返回的示例(-號後面的數字爲數據字節長度,返回的數據則爲提示信息):
-11\r\n
Invalid Pwd
操作交互標識
使用SID命令設置交互標識或申請一個新的交互標識,使用@指定交互標識,客戶端發送的命令如下:
設置交互標識:
SID\r\n
@32\r\n
sdsdsd-sdjskdjskd-sdnskdsjdk0-sdsdj
申請交互標識:
SID\r\n
@0\r\n
服務端收到後則返回一個以+號(成功)或-號(失敗)開頭的命令加相關數據的形式返回
成功返回的示例(+號後面的數字爲數據字節長度,返回的數據則爲生效的交互標識):
+32\r\n
sdsdsd-sdjskdjskd-sdnskdsjdk0-sdsdj
失敗返回的示例(-號後面的數字爲數據字節長度,返回的數據則爲提示信息):
-11\r\n
Invalid Sid
設置存儲鍵值
使用SET命令設置存儲鍵值,使用$符號設置存儲鍵名稱,使用&指定存儲鍵值,客戶端發送的命令如下:
SET\r\n
$4\r\n
name
&6\r\n
123456
服務端收到後則返回一個以+號(成功)或-號(失敗)開頭的命令加相關數據的形式返回
成功返回的示例(+號後面的數字爲數據字節長度,長度爲0則表示不附帶數據):
+0\r\n
失敗返回的示例(-號後面的數字爲數據字節長度,返回的數據則爲提示信息):
-10\r\n
Unknow Sid
獲取存儲鍵值
使用GET命令獲取存儲鍵值,使用$符號設置存儲鍵名稱,客戶端發送的命令如下:
GET\r\n
$4\r\n
name
服務端收到後則返回一個以+號(成功)或-號(失敗)開頭的命令加相關數據的形式返回
成功返回的示例(+號後面的數字爲數據字節長度,返回的數據爲存儲鍵值):
+6\r\n
123456
失敗返回的示例(-號後面的數字爲數據字節長度,返回的數據則爲提示信息):
-10\r\n
Unknow Sid
源代碼獲取
服務端組件及示例
源代碼在GitHub上開源,訪問地址爲 https://github.com/inmount/dotnet-core-simple-session-server
客戶端組件及示例
源代碼在GitHub上開源,訪問地址爲 https://github.com/inmount/dotnet-core-simple-session-client
Nuget引用
此組件目前已支持在Nuget倉庫下載,VS/VS Code中均可以通過搜索下載
服務端組件Nuget頁面爲 https://www.nuget.org/packages/dotnet-core-simple-session-server/
客戶端組件Nuget頁面爲 https://www.nuget.org/packages/dotnet-core-simple-session-client/
歡迎大家下載使用並提出升級建議^_^