在SSIO上增長了UDP通信方式,能夠到Github上下載源代碼。在原來的項目中,遠端的設備與中心站的數據交互並無使用過UDP方式。這種短鏈接的通信鏈路,不容易維護,主要體如今:(1)持續的數據交互能力。(2)對現場設備進行長時間的維護和校準。(3)SSIO要協調設備、IO和控制方式之間的運做關係,沒法即時反應設備的IO狀態。等等。html
可是,對於一個平臺來說,UDP的通信方式是應該具備的,根據現場狀況選擇是否應用。例如:遠端的設備定時發送設備狀態信息等,可使用UDP的通信方式,在SSIO裏單獨創建一個狀態服務實例。git
SIO和SSIO的設計思想是類似的,可是仍是有必定的區別,請參見《C#跨平臺物聯網通信框架ServerSuperIO(SSIO)》。github
根據應用場景,SIO和SSIO能夠相互配合部署到不一樣的地方。SIO能夠部署在工業現場或工做站點,採集區域範圍的硬件設備或傳感器的數據,而後打包上傳數據;SSIO能夠部署在服務器端,接收上傳的數據,並與現場進行數據或命令交互。結合圖以下:服務器
SIO自己就是一個WinForm應用程序,只須要繼承MainForm就可以很快的構建本身的圖形化的通信平臺,把開發好的設備驅動、圖形顯示、服務等以插件的方式掛載到平臺,就能夠運行了,能夠參見二次開發手冊。通常現場工控機都是Windows操做系統,儘管SIO不支持跨平臺(開發SIO的時候,尚未Mono呢),可是支持Windows XP sp3全部以上版本的操做系統。網絡
SSIO自己是一個支持多服務實例的命令行程序,更適合部署在服務器端,負責與SIO或現場設備、傳感器進行數據交互。而且SSIO的各方面的性能更優於SIO,以及支持4種控制模式的應用場景,輪詢模式、自控模式、併發模式和單例模式。併發
使用SIO和SSIO二次形式發時不須要關心對設備、IO和控制方式的調度,只須要繼承接口開發設備驅動和設置相應的參數就能夠了。另外,SIO和SSIO能夠做爲組態軟件的核心通信組件。框架
SSIO能夠支持跨平臺運行,若是智能設備內嵌裁剪後的Linux操做系統,SSIO能夠跑在智能設備中,惟一的缺點就是缺乏強大的Web監控服務,如今ASP.NET Core支持跨平臺部署了,到是一個發展的方向。性能
SSIO也能夠做爲嵌入式智能網關服務,對採集的數據進行協議轉換、打包、轉發。spa
SIO和SSIO的設備驅動,當網絡通信時,都支持Tcp Client工做模式。由於現場環境比較複雜,又是防火牆、路由之類的。有時候作項目,找個熟悉環境的人都困難,因此當前找了一個最簡單的解決方法,就是反向鏈接,也一直延續至今。操作系統
開源地址:https://github.com/wxzz/ServerSuperIO
QQ:504547114
QQ羣:54256083