Udostępnij za pośrednictwem


Komunikowanie się za pomocą aplikacji obsługowej w czasie rzeczywistym

Usługa Azure Sphere obsługuje komunikację między aplikacjami wysokiego poziomu i aplikacjami obsługujymi czas rzeczywisty (RTApp). Aplikacje wysokiego poziomu mogą używać funkcji Application_Connect aplikacji do wysyłania i odbierania danych podczas komunikowania się za pomocą funkcji RTApp. Application_Connect pobiera deskryptor pliku do gniazda używanego do komunikowania się z aplikacją RTApp. Gdy deskryptor pliku jest otwarty, można na nim wykonywać operacje, takie jak wysyłanie/recv.

W przykładzie intercorecomms pokazano, jak używać aplikacji wysokiego poziomu do komunikowania się z RTApp na MT3620. Komunikowanie się za pomocą aplikacji wysokiego poziomu opisuje zagadnienia programistyczne dla RTApp.

Wymagania

Aplikacje wysokiego poziomu korzystające z komunikacji między aplikacjami muszą zawierać odpowiednie pliki nagłówków i dodać ustawienia aplikacji do manifestu aplikacji.

Pliki nagłówków

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

Ustawienia manifestu aplikacji

Aby komunikować się za pomocą aplikacji RTApp, obie aplikacje muszą zawierać funkcję AllowedApplicationConnections w manifeście aplikacji:

  • Aplikacja wysokiego poziomu musi wyświetlić identyfikator składnika aplikacji obsługowej w czasie rzeczywistym w funkcji AllowedApplicationConnections.
  • Aplikacja z obsługą czasu rzeczywistego musi wyświetlić na liście identyfikator składnika aplikacji wysokiego poziomu w funkcji AllowedApplicationConnections.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

Aplikacje partnerów

Po załadowaniu aplikacji na urządzenie Azure Sphere narzędzia wdrażania Azure Sphere domyślnie usuwają wszystkie istniejące aplikacje. Aby temu zapobiec, gdy tworzysz parę aplikacji, które komunikują się ze sobą, musisz oznaczyć aplikacje jako partnerów. Po wdrożeniu jednej z aplikacji jej partner nie zostanie usunięty. Aby uzyskać szczegółowe informacje, zobacz Oznaczanie aplikacji jako partnerów .

Otwarcie gniazda

Przed rozpoczęciem komunikacji z aplikacją RTApp należy otworzyć gniazdo, wywołując funkcję Application_Connect . Deskryptor plików zwrócony przez to wywołanie funkcji służy do wykonywania operacji wysyłania/recv na gniazdku.

Wysyłanie danych

Możesz wysłać wiadomość do aplikacji RTApp, wywołując funkcję POSIX send(). Maksymalny rozmiar wiadomości to 1 KB.

Odbieranie danych

Możesz odebrać wiadomość z aplikacji RTApp, wywołując funkcję POSIX recv().

Zamknij gniazdo

Aby zamknąć gniazdo, wywołaj funkcję POSIX close().