共用方式為


與即時可用的應用程式通訊

重要

這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。

Azure Sphere 支援高階應用程式與即時可用的應用程式 (RTApp) 之間的核心間通訊。 高階應用程式可以使用 applibs Application_Connect 函式,在與 RTApp 通訊時傳送和接收數據。 Application_Connect會擷取檔案描述元到用來與 RTApp 通訊的套接字。 當檔案描述元開啟時,您可以對它執行作業,例如傳送/recv。

IntercoreComms 範例示範如何使用高階應用程式與 MT3620 上的 RTApp 通訊。 與高階應用程式 通訊說明 RTApp 的程式設計考慮。

需求

使用應用程式間通訊的高階應用程式必須包含適當的頭檔,並將應用程式設定新增至 應用程式指令清單

標頭檔

#include <sys/socket.h>
#include <applibs/application.h>

應用程式指令清單設定

若要與 RTApp 通訊,這兩個應用程式都必須在應用程式指令清單中包含 AllowedApplicationConnections 功能:

  • 高階應用程式必須在 AllowedApplicationConnections 功能中列出即時可用的應用程式的元件識別碼。
  • 即時可用的應用程式必須在 AllowedApplicationConnections 功能中列出高階應用程式的元件識別碼。
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

合作夥伴應用程式

當您將應用程式載入 Azure Sphere 裝置時,Azure Sphere 部署工具預設會刪除所有現有的應用程式。 若要避免當您開發一對彼此通訊的應用程式時發生此情況,您必須將應用程式標示為 合作夥伴。 當您部署其中一個應用程式時,將不會刪除其夥伴。 如需詳細資訊,請參閱 將應用程式標示為合作夥伴

開啟套接字

在與 RTApp 通訊之前,您必須呼叫 Application_Connect 函式來開啟套接字。 此函式呼叫所傳回的檔案描述元可用來在套接字上執行傳送/recv 作業。

傳送資料

您可以呼叫 POSIX send() 函式,將訊息傳送至 RTApp。 訊息大小上限為 1 KB。

接收資料

您可以呼叫 POSIX recv() 函式,以接收來自 RTApp 的訊息。

關閉套接字

若要關閉套接字,請呼叫 POSIX close() 函式。