Communiceren met een toepassing die geschikt is voor realtime
Belangrijk
Dit is de Documentatie voor Azure Sphere (verouderd). Azure Sphere (verouderd) wordt op 27 september 2027 buiten gebruik gesteld en gebruikers moeten tegen deze tijd migreren naar Azure Sphere (geïntegreerd). Gebruik de versiekiezer boven de inhoudsweergave om de Documentatie van Azure Sphere (geïntegreerd) weer te geven.
Azure Sphere biedt ondersteuning voor communicatie tussen toepassingen op hoog niveau en realtime toepassingen (RTApp). Toepassingen op hoog niveau kunnen de applibs Application_Connect functie gebruiken om gegevens te verzenden en te ontvangen bij het communiceren met een RTApp. Application_Connect haalt een bestandsdescriptor op naar een socket die wordt gebruikt om te communiceren met de RTApp. Terwijl de bestandsdescriptor is geopend, kunt u er bewerkingen op uitvoeren, zoals verzenden/recv.
Het IntercoreComms-voorbeeld laat zien hoe u een toepassing op hoog niveau gebruikt om te communiceren met een RTApp op een MT3620. Communiceren met een toepassing op hoog niveau beschrijft programmeeroverwegingen voor de RTApp.
Vereisten
Toepassingen op hoog niveau die communicatie tussen apps gebruiken, moeten de juiste headerbestanden bevatten en toepassingsinstellingen toevoegen aan het toepassingsmanifest.
Koptekstbestanden
#include <sys/socket.h>
#include <applibs/application.h>
App-manifestinstellingen
Als u wilt communiceren met een RTApp, moeten beide toepassingen de mogelijkheid AllowedApplicationConnections opnemen in het toepassingsmanifest:
- De toepassing op hoog niveau moet de onderdeel-id van de realtime geschikte toepassing vermelden in de mogelijkheid AllowedApplicationConnections.
- De toepassing die in realtime kan worden gebruikt, moet de onderdeel-id van de toepassing op hoog niveau vermelden in de mogelijkheid AllowedApplicationConnections.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]
Partnertoepassingen
Wanneer u een toepassing op het Azure Sphere-apparaat laadt, worden standaard alle bestaande toepassingen verwijderd door de Azure Sphere-implementatiehulpprogramma's. Als u wilt voorkomen dat dit gebeurt wanneer u een paar toepassingen ontwikkelt die met elkaar communiceren, moet u de toepassingen markeren als partners. Wanneer u een van de toepassingen implementeert, wordt de partner niet verwijderd. Zie Toepassingen markeren als partners voor meer informatie.
Open de socket
Voordat u met een RTApp communiceert, moet u een socket openen door de Application_Connect functie aan te roepen. De bestandsdescriptor die door deze functieaanroep wordt geretourneerd, wordt gebruikt voor het uitvoeren van verzend-/recv-bewerkingen op de socket.
Gegevens verzenden
U kunt een bericht verzenden naar een RTApp door de functie POSIX send() aan te roepen. De maximale berichtgrootte is 1 kB.
Gegevens ontvangen
U kunt een bericht van een RTApp ontvangen door de functie POSIX recv() aan te roepen.
Sluit de socket
Als u de socket wilt sluiten, roept u de functie POSIX close() aan.