Hinweis zum Ende des Supports: Am 20. Mai 2026 AWS endet der Support für AWS SimSpace Weaver. Nach dem 20. Mai 2026 können Sie nicht mehr auf die SimSpace Weaver Konsole oder SimSpace Weaver die Ressourcen zugreifen. Weitere Informationen finden Sie unter AWS SimSpace Weaver Ende des Supports.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tipps für die Arbeit mit Nachrichten
Löst einen Endpunkt anhand einer Position oder eines Anwendungsnamens auf
Sie können die AllPartitions
Funktion verwenden, um die räumlichen Grenzen und eine Domänen-ID abzurufen, die Sie zur Bestimmung der Nachrichtenpartition IDs und der Nachrichtenziele benötigen. Wenn Sie jedoch die Position kennen, an der Sie eine Nachricht senden möchten, aber nicht die Partitions-ID, können Sie die MessageEndpointResolver Funktion verwenden.
/** * 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); };
Serialisierung und Deserialisierung der Nachrichtennutzdaten
Sie können die folgenden Funktionen verwenden, um Nachrichtennutzlasten zu erstellen und zu lesen. Weitere Informationen finden Sie unter MessagingUtils .h in der App-SDK-Bibliothek auf Ihrem lokalen System.
/** * 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()); }