Berkomunikasi dengan aplikasi yang berkemampuan real-time
Azure Sphere mendukung komunikasi antar-inti antara aplikasi tingkat tinggi dan aplikasi berkemampuan real-time (RTApp). Aplikasi tingkat tinggi dapat menggunakan applibs Application_Connect fungsi untuk mengirim dan menerima data saat berkomunikasi dengan RTApp. Application_Connect mengambil deskriptor file ke soket yang digunakan untuk berkomunikasi dengan RTApp. Saat deskriptor file terbuka, Anda dapat melakukan operasi di dalamnya, seperti kirim/recv.
Sampel IntercoreComms menunjukkan cara menggunakan aplikasi tingkat tinggi untuk berkomunikasi dengan RTApp di MT3620. Berkomunikasi dengan aplikasi tingkat tinggi menjelaskan pertimbangan pemrograman untuk RTApp.
Persyaratan
Aplikasi tingkat tinggi yang menggunakan komunikasi antar-aplikasi harus menyertakan file header yang sesuai dan menambahkan pengaturan aplikasi ke manifes aplikasi.
File header
#include <sys/socket.h>
#include <applibs/application.h>
Pengaturan manifes aplikasi
Untuk berkomunikasi dengan RTApp, kedua aplikasi perlu menyertakan kapabilitas AllowedApplicationConnections dalam manifes aplikasi:
- Aplikasi tingkat tinggi harus mencantumkan ID komponen aplikasi berkemampuan real-time dalam kapabilitas AllowedApplicationConnections.
- Aplikasi yang berkemampuan real-time harus mencantumkan ID komponen aplikasi tingkat tinggi dalam kapabilitas AllowedApplicationConnections.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]
Aplikasi mitra
Saat Anda memuat aplikasi ke perangkat Azure Sphere, alat penyebaran Azure Sphere secara default menghapus semua aplikasi yang sudah ada. Untuk mencegah hal ini terjadi ketika Anda mengembangkan sepasang aplikasi yang berkomunikasi satu sama lain, Anda perlu menandai aplikasi sebagai mitra. Saat Anda menyebarkan salah satu aplikasi, mitranya tidak akan dihapus. Lihat Menandai aplikasi sebagai mitra untuk detailnya.
Membuka soket
Sebelum berkomunikasi dengan RTApp, Anda harus membuka soket dengan menghubungi fungsi Application_Connect . Deskriptor file yang dikembalikan oleh panggilan fungsi ini digunakan untuk melakukan operasi kirim/recv pada soket.
Mengirim data
Anda dapat mengirim pesan ke RTApp dengan menghubungi fungsi POSIX send(). Ukuran pesan maksimum adalah 1 KB.
Menerima data
Anda dapat menerima pesan dari RTApp dengan memanggil fungsi recv() POSIX.
Menutup soket
Untuk menutup soket, panggil fungsi POSIX close().