기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
메시지 오류 및 문제 해결
메시징 API를 사용할 때 다음 오류가 발생할 수 있습니다.
엔드포인트 확인 오류
이러한 오류는 앱이 메시지를 보내기 전에 발생할 수 있습니다.
도메인 이름 확인
잘못된 엔드포인트로 메시지를 보내면 다음 오류가 발생합니다.
ManifoldError::InvalidArgument {"No DomainId found for the given domain name" }
이 문제는 맞춤형 App에 메시지를 보내려고 하는데 해당 맞춤형 App이 아직 시뮬레이션에 참여하지 않은 경우 발생할 수 있습니다. DescribeSimulation
API를 사용하여 메시지를 보내기 전에 맞춤형 앱이 실행되었는지 확인하세요. 이 동작은 SimSpace Weaver Local 과 에서 동일합니다AWS 클라우드.
포지션 체크
도메인 이름은 유효하지만 위치가 잘못된 엔드포인트를 해결하려고 하면 다음 오류가 발생합니다.
ManifoldError::InvalidArgument {"Could not resolve endpoint from domain : DomainId { value:domain-id
} and position: Vector2F32 { x:x-position
, y:y-position
}" }
SimSpace Weaver앱 MessageEndpointResolver
SDK에 포함된 MessageUtils
라이브러리에서 를 사용하는 것이 좋습니다.
메시지 전송 오류
앱이 메시지를 전송할 때 다음과 같은 오류가 발생할 수 있습니다.
앱당, 틱당 메시지 전송 한도 초과
시뮬레이션 틱당 앱당 보낼 수 있는 메시지 수의 현재 한도는 128개입니다. 이후 동일한 틱에 대한 호출은 실패하고 다음 오류가 발생합니다.
ManifoldError::CapacityExceeded {"At Max Outgoing Message capacity: {}", 128}
SimSpace Weaver다음 틱에서 보내지 않은 메시지를 보내려고 합니다. 이 문제를 해결하려면 전송 빈도를 낮추세요. 256바이트 제한보다 작은 메시지 페이로드를 결합하여 아웃바운드 메시지 수를 줄이십시오.
이 동작은 에서 모두 동일합니다. SimSpace Weaver Local AWS 클라우드
메시지 페이로드 크기 제한을 초과했습니다.
메시지 페이로드 크기의 현재 제한은 및 에서 모두 SimSpace Weaver Local 256바이트입니다. AWS 클라우드 페이로드가 256바이트보다 큰 메시지를 보내면 다음 오류가 발생합니다.
ManifoldError::CapacityExceeded {"Message data too large! Max size: {}", 256}
SimSpace Weaver각 메시지를 검사하고 제한을 초과하는 메시지만 거부합니다. 예를 들어 앱에서 메시지 10개를 보내려고 하는데 1개가 검사에 실패하면 해당 메시지 1개만 거부됩니다. SimSpace Weaver나머지 9개의 메시지를 전송합니다.
이 동작은 SimSpace Weaver Local 및 에서 동일합니다AWS 클라우드.
목적지가 소스와 동일합니다.
앱은 자신이 소유한 파티션에 메시지를 보낼 수 없습니다. 앱이 소유한 파티션으로 메시지를 보내는 경우 다음 오류가 발생합니다.
ManifoldError::InvalidArgument { "Destination is the same as source" }
이 동작은 SimSpace Weaver Local 및 에서 동일합니다. AWS 클라우드
최선의 메시지
SimSpace Weaver메시지 전달을 보장하지는 않습니다. 서비스는 후속 시뮬레이션 틱에서 메시지 전송을 완료하려고 시도하지만 메시지가 손실되거나 지연될 수 있습니다.