2010-12-30 6 views
1

私は単純なゲームセンターのマルチプレイヤーゲームを開発しています。私はプレーヤーにメッセージを送ることを除いてほとんどすべてを管理しました。ゲームをプレイするようにプレイヤーを招待することができます。他のプレーヤーにデータを送信する - ゲームセンター

アップルのドキュメントについて私は以下の方法でデータを送信していますが、全く動作しません。

const char *bytes = "123"; 
NSData *packet = [NSData dataWithBytes:&bytes length:3]; 
[myMatch sendDataToAllPlayers: packet withDataMode: GKMatchSendDataUnreliable error:nil]; 

可能であれば、作業サンプルは素晴らしいでしょう。 多くのありがとうございます。

私はほとんど同じでした。

NSError *errorTransmit; 
const char *bytes = "asd"; 
NSData *packet = [NSData dataWithBytes:&bytes length:3]; 
[myMatch sendDataToAllPlayers: packet withDataMode: GKMatchSendDataUnreliable error:&errorTransmit];  
if (errorTransmit != nil) 

    NSLog(@"Error sending data to peers: %@", [errorTransmit localizedDescription]); 
} 

が、コードは のNSLog達する(@ "エラーピアにデータを送信します。%@"、[errorTransmit localizedDescriptionを])。 プログラム受信信号:「EXC_BAD_ACCESS」を取得しています。 それは私が何が起こっているかを見ることができない理由です。

答えて

0

私はまだGameCenterのビットとピースを使用していませんが、一般的なアプローチとして、エラーが生成されているかどうかを確認したいと思っていました。そのようなものとして、あなたが何かを使用する場合...

NSError *transmissionError; 

[myMatch sendDataToAllPlayers: packet 
       withDataMode: GKMatchSendDataUnreliable 
         error: &transmissionError]; 

if(transmissionError != nil) { 
    NSLog(@"Transmission error: %@", transmissionError); 
} 

...あなたは何がうまくいかないのか分かります。

ちなみに、私は現在、コンパイラから離れているので、上記のすべてのタイプミスをお詫びします。私は、ここでは何も悪いことを見ることができない私はこのコードを使用しています:-)

+0

の作品は、上記を参照してください質問を更新しました。 – mohacs

+0

@mohacs Odd。 sendDataToAllPlayersメソッドから得られる戻り値を確認しようとしましたか? –

+0

はい、私のコードにもその委譲があり、成功した場合はYESを返しますが、データを先に送信することができなければ、そこに到達することはできません。 – mohacs

0

NSData *data = nil; 
NSError *error = nil; 
int packet = 777; 
data = [[NSData alloc] initWithBytes:&packet length:sizeof(int)]; 
[self.mMatch sendDataToAllPlayers:data withDataMode:GKMatchSendDataReliable: &error]; 

をし、それが

関連する問題