Suggerimenti per l'utilizzo della messaggistica - AWS SimSpace Weaver

Avviso di fine del supporto: il 20 maggio 2026, AWS terminerà il supporto per AWS SimSpace Weaver. Dopo il 20 maggio 2026, non potrai più accedere alla SimSpace Weaver console o SimSpace Weaver alle risorse. Per ulteriori informazioni, consulta AWS SimSpace Weaver Fine del supporto.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Suggerimenti per l'utilizzo della messaggistica

Risolvi un endpoint da una posizione o dal nome dell'app

È possibile utilizzare la AllPartitions funzione per ottenere i limiti spaziali e l'ID di dominio necessari per determinare la partizione IDs e le destinazioni dei messaggi. Tuttavia, se conosci la posizione in cui desideri inviare il messaggio, ma non il relativo ID di partizione, puoi utilizzare la funzione. MessageEndpointResolver

/** * Resolves MessageEndpoint's from various inputs **/ class MessageEndpointResolver { public: /** * Resolves MessageEndpoint from position information **/ Result<MessageEndpoint> ResolveEndpointFromPosition( const DomainId& domainId, const weaver_vec3_f32_t& pos); /** * Resolves MessageEndpoint from custom app name **/ Result<MessageEndpoint> ResolveEndpointFromCustomAppName( const DomainId& domainId, const char* agentName); };

Serializzazione e deserializzazione del payload del messaggio

È possibile utilizzare le seguenti funzioni per creare e leggere i payload dei messaggi. Per ulteriori informazioni, consulta MessagingUtils .h nella libreria SDK dell'app sul tuo sistema locale.

/** * Utility function to create MessagePayload from a custom type * * @return The @c MessagePayload. */ template <class T> AWS_WEAVERRUNTIME_API MessagePayload CreateMessagePayload(const T& message) noexcept { const std::uint8_t* raw_data = reinterpret_cast<const std::uint8_t*>(&message); MessagePayload payload; std::move(raw_data, raw_data + sizeof(T), std::back_inserter(payload.data)); return payload; } /** * Utility function to convert MessagePayload to custom type */ template <class T> AWS_WEAVERRUNTIME_API T ExtractMessage(const MessagePayload& payload) noexcept { return *reinterpret_cast<const T*>(payload.data.data()); }