

지원 종료 공지: 2026 AWS 년 5월 20일에에 대한 지원이 종료됩니다 AWS SimSpace Weaver. 2026년 5월 20일 이후에는 SimSpace Weaver 콘솔 또는 SimSpace Weaver 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은 [AWS SimSpace Weaver 지원 종료를 참조하세요](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html).

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 메시징 작업 시 팁
<a name="working-with_messaging_tips"></a>

## 위치 또는 앱 이름에서 엔드포인트 확인
<a name="working-with_messaging_tips_resolve-endpoint"></a>

`AllPartitions` 함수를 사용하여 메시지 파티션 ID 및 메시지 대상을 결정하는 데 필요한 공간 경계와 도메인 IDs 가져올 수 있습니다. 그러나 메시지를 보낼 위치를 알고 있지만 파티션 ID는 모르는 경우 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);
};
```

## 메시지 페이로드 직렬화 및 역직렬화
<a name="working-with_messaging_tips_serialize-payload"></a>

다음 함수를 사용하여 메시지 페이로드를 생성하고 읽을 수 있습니다. 자세한 내용은 로컬 시스템의 앱 SDK 라이브러리에서 MessagingUtils.h를 참조하세요.

```
/**
* 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());
}
```