ASP.NET Core 2.0 使用WebSocket 讓設備和網頁 ... | asp net mvc socket
目前有一個專案,其中一項功能為"接收設備端傳送過來的數據並顯示在頁面上"例如空調系統設備傳送當前溫度後端使用ASP.NETCore2.0webapi開發以前有在.NetFramework上使用過ASP.NETSignalR查資料得知目前(寫這篇筆記的時候).NetCore版本的SingalR還在開發階段2.1版本才會發行正式版本,有些文章建議不適合在正式產品中使用開發版本於是就查了如何在.NetCore使用WebSocket#1[ASP.NETCore:BuildingchatroomusingWebSocket]http://gunnarpeipman.com/aspnet/aspnet-core-websocket-chat/[1]上面這篇文章使用網頁發送和接收訊息但是目前專案...
目前有一個專案,其中一項功能為 "接收設備端傳送過來的數據並顯示在頁面上" 例如空調系統設備傳送當前溫度後端使用 ASP.NET Core 2.0 webapi 開發以前有在 .Net Framework 上使用過 ASP.NET SignalR查資料得知目前(寫這篇筆記的時候) .Net Core 版本的 SingalR 還在開發階段2.1 版本才會發行正式版本,有些文章建議不適合在正式產品中使用開發版本於是就查了如何在 .Net Core 使用 WebSocket
#1 [ASP.NET Core: Building chat room using WebSocket]http://gunnarpeipman.com/aspnet/aspnet-core-websocket-chat/[1]上面這篇文章使用網頁發送和接收訊息
但是目前專案需求是要由設備發送訊息#2 [Real-time chart using ASP.NET Core and WebSocket]http://gunnarpeipman.com/aspnet/aspnet-core-websocket-chart/[2]上面這篇文章使用api當端點給設備端呼叫,符合專案的需求
以上兩種發送訊息的方式都想要使用,於是整合兩篇文章使用 #1 的 SocketMiddleware 和 # 2 的 SocketManager#2 的 SocketManager 不需修改, #1 產生 socketId 和保存當前 socket 的程式改使用 # 2 的 SocketManaer
public class ACSystemSocketMiddleware { private readonly RequestDelegate _next; private readonly ACSystemSocketManager _socketManager; public ChatWebSocketMiddleware( RequestDelegate next, ACSystemSocketManager socketManager) { _next = next; ...