2012-07-11 3 views
0

iOS에서 작은 카드 게임을 만들고 있습니다. GameKit/GKsession을 사용하여 네트워크 데이터 전송을 처리하고 있습니다.NSData에 여러 정보를 묶고 데이터를 보내고 받기/처리하는 방법은 무엇입니까?

내 질문은 어떻게 "포장" NSData 여러 정보를 보내십시오. 그리고 서버가 NSData를받을 때, 그것을 풀고 올바른 방법으로 정보를 처리하는 방법.

예를 들어, 문제없이 NSString을 보내고받을 수 있습니다. 하지만 내 게임 UIImage/NSString/NSArray/같은 다른 데이터 형식을 보내고받을 필요가있다 ...

SDK에서 샘플 프로젝트 GKTank를 발견했다. 그러나 나를 이해하는 것은 정말로 어렵습니다. 내 추측으로, 그것은 여러 데이터 유형을 정의했습니다.

사람은 어떻게 서버가 클라이언트가이 방법으로 (?있는 NSString있는 UIImage) 전송되는 데이터의 종류를 알려 말해 줄 수 : 당신은 실제로 두 가지를 찾고 있습니다

- (void)receiveData:(NSData *)data fromPeer:(NSString *)peer inSession:(GKSession *)session context:(void *)context 

답변

0

.

1) 송신자와 수신자를 괴롭히는 프로토콜.

2) 프로토콜을 제공하는 데이터 형식으로 개체를 "serialize"하고 개체의 데이터를 "deserialize"하는 방법.

1의 경우 JSON, XML (문자열 기반) 및 프로토콜 버퍼와 같은 바이트 기반 프로토콜과 같은 다양한 선택 항목이 있습니다.

2의 경우 SBJson, TBXML 및 protobuf와 같은 다양한 구문 분석기를 사용하여 (1)에서 선택한 프로토콜을 인코딩하고 디코딩 할 수 있습니다.

+0

하지만 JSON 또는 XML을 사용하면 간단한 카드 게임에 너무 무거울 것이라고 생각합니다. 어쨌든 당신의 대답에 감사드립니다. – ChaosKIDs