2013-01-01 2 views
1

멀티 플레이 게임을 시작하지만 예제에서는 구조를 사용하여 만든 NSData 객체를 전달하는 것으로 나타납니다. 하지만 ARC에서는 C 구조체를 사용할 수 없습니다. (올바른?) 그것은 내가 ARC를 사용하여 C 구조 대신 개체를 사용하는 것으로 보인다. 하지만 개체의 NSData 패킷을 보내려면 어떻게해야합니까?ios Muliplayer 전략 : ARC (패킷 없음)로 패킷 보내기

큰 바이트 배열을 하드 코딩 할 수 있다고 생각합니다.하지만 더 쉬운 방법이 있어야합니다.

또한 개체를 보낼 수 있다면 여러 개체를 보내고 내가 보내는 개체를 구별 할 수 있습니까?

감사합니다.

+0

네트워킹을 위해 오늘 나는 어떤 이진 재료 대신에 JSON으로 인코딩 된 문자열을 사용하려고한다. 적어도 처음에는 –

답변

0

내 질문에 대한 대답은 NSKeyedArchiver를 사용하는 것이 었습니다. 하나의 객체 (또는 무엇이든)를 NSData 객체로 패킹 할 수 있습니다.

+0

이 문제는 GameKit에 패킷 크기가 ~ 1000 바이트 이상인 데이터 수신이 때때로 중단되는 버그 (현재)가 있음을 의미합니다. NSKeyedArchiver를 사용하면 패킷이 커지고 데이터 수신이 중단되어 코드가 작동을 멈 춥니 다. –

1

ARC는 C 구조를 사용하지 못하도록 차단하지 않으므로 자동 할당 해제와 관련하여 약간의 작업 만하면됩니다. 당신이 그것을 처리의 신속하고 더러운 방법을 원하는 경우

또한, 당신은 using this method.

당신이 다음되는 코드를 설명하고 어떤 것들을 당신에게 문제를주고있다하십시오, 당신의 멀티 매니저에 ARC를 비활성화 할 수 있습니다.

+0

나는 ARC를 사용하지 않으려 고 생각하지 않는다. 그것없이 프로그래밍하지 않았다. ARC 시스템 내에서 작업 할 수있는 방법이 있습니까? –

+0

충분히 공정하고, 또한 "빠르고 더러운"버전이었습니다. 게임 센터 문서를 읽었으며 ARC로 쉽게 변환 할 수 있습니다. WWDC2012에서 제공된 기술 데모는 아크 였지만 등록 된 개발자 인 경우 액세스 권한이 있어야합니다. –