簡體   English   中英

將 WebSockets 從瀏覽器連接到其他應用程序

[英]Connecting WebSockets from browser to other applications

介紹

我的申請分為 3 部分:

  • 收集和分發數據的 C# .Net 5.0 桌面應用程序
  • Angular 10 靜態應用程序,用於控制 C# 應用程序(啟動/停止)並以圖表的形式為用戶打印數據
  • 用作 Angular 靜態應用程序(.NET 核心 3.1)后端的 Azure 函數 Rest API

我的目標是讓 WebSocket 用於 C# 和 Angular 應用程序之間的“實時”通信,而不是依賴 Http 請求到 Azure 函數 REST api 我不使用像 express.js 這樣的“經典”服務器。 Azure Function 完全取代了它。

因此,我使用Azure WebPubSub服務來托管套接字。

問題:我無法連接我從 Angular(瀏覽器應用程序)創建的 websocket。

問題不是來自 WebPubSub,因為 WebSockets 在我的 C# 應用程序、Azure Functions 甚至一些 node.js 測試腳本之間完全正常工作(發送和接收)。 此外,我在瀏覽器應用程序中創建的網絡套接字可以與自身通信,但沒有其他應用程序從我的瀏覽器應用程序中的網絡套接字獲取消息。

問題:我可以使用我當前的架構從瀏覽器實時通信到其他應用程序(基於 websocket)嗎?如果是,如何通信?

Azure WebPubSub 文檔頁面上沒有我嘗試實現的示例。 在互聯網上搜索同樣的事情。

使用鏈接到應用程序的 Express.js 服務器的解決方案,可以用作瀏覽器應用程序和 c# 應用程序之間的中間人。 但如果可能的話,我想避免它。 我只是想知道我正在嘗試做的事情是否可行。

此外,該應用程序可以在 React.js 中重新完成,因此非 Angular 特定答案更好。

Web PubSub 日志流示例: https ://docs.microsoft.com/azure/azure-web-pubsub/tutorial-subprotocol?tabs = javascript 聽起來像一個類似的場景。

您的 AngualrJS Web App 類似於日志流的 Web 應用程序,它加入了stream組。

您的 C# .Net 5.0 桌面應用程序類似於日志stream的消息發布者應用程序streamhttps ://docs.microsoft.com/azure/azure-web-pubsub/tutorial-subprotocol?tabs=csharp#publish-messages-from-client ,將消息發送到stream組。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM