2010-08-10 1 views
1

나는 2 개의 iPhone 사이에서 블루투스 설정시 this great guide을 팔로우하고 있습니다.게임 키트를 통해 데이터를 전송할 때 내 애플리케이션이 중단되는 이유는 무엇입니까?

그러나 텍스트 대신 바이너리 (예 : 비디오)를 보내야합니다.

가 나는

[self.gameSession sendDataToAllPeers:localData 
            withDataMode:GKSendDataReliable 
              error:nil]; 

하지만 내 응용 프로그램이 충돌을 보낼에있는 NSData

localData = [NSData dataWithContentsOfFile:videoPath]; 

그런 다음 몇 가지 방법에의 데이터를로드합니다. 인코딩해야합니까?

+2

어떤 충돌 메시지가 표시됩니까? –

답변

2

GameKit 설명서에서 인용 한 "최상의 성능을 위해 데이터 개체의 크기를 작게 유지하는 것이 좋습니다 (길이가 1000 바이트 미만). 큰 메시지 (최대 95 킬로바이트)를 분할해야 할 수 있습니다 더 작은 덩어리로 만들어지고 목적지에서 재 조립되어 추가적인 대기 시간과 오버 헤드가 발생합니다. " 나는 비디오를 전송하려한다고 가정한다. 이것을 덩어리로 나누어서 조각으로 보내서 다른쪽에 다시 놓을 필요가 있습니다.

+0

데이터를 패킷으로 분할하는 방법을 아는 사람이 있습니까? – Burf2000

+0

이 문제와 관련하여 또 다른 스택 오버플로가 발생합니다. http://stackoverflow.com/questions/2899020/split-nsdata-objects-into-other-nsdata-objects-with-a-given-size. 필자는 애플 리케이션에서 약간의 비틀기를 사용하여 그것을 사용했다. – skram

+0

완료 예 http://jitsik.com/wordpress/?p=126#comment-2883 – Burf2000