0

こんにちは、Bonjour の学習の開始として、2 つの iPod touch 間で単純なチャット クライアントを構築しようとしています。2 つのデバイスを正常に接続すると、すべてが機能するように見えます。問題なく(エラーなしで)データを送信できますが、データを受信する必要があるときに送信できません。ログを見ると、「GCKSessionEvent_IncomingOOBPacket: oob メッセージの作成に失敗しました」というメッセージが表示されます。そのメッセージの一部をグーグルで検索して回答を探しましたが、文字通り 0 件の結果がありました。ここで誰かが答えてくれることを願っていました。

ありがとう

KC

コメントへの返信:

3つの呼び出しは

-(IBAction)SendMessage
{   
NSData* aData = [[NSData alloc] initWithData:[typeText.text dataUsingEncoding: NSUTF8StringEncoding]];
    NSUTF8StringEncoding];
    [self sendDataToPeers:aData];
}

-(void)sendDataToPeers:(NSData*)data
{
    NSError* err;
    BOOL didSend = [self.mySession sendDataToAllPeers:data withDataMode:GKSendDataReliable error:&err];
}

-(void) receiveData:(NSData*)data fromPeer:(NSString*)peer inSession:(GKSession*)session context:(void*)context
{
    NSString* text = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]autorelease];
    self.displayText.text = text;
}
4

2 に答える 2

0

WifiとGKSessionでiphone to iphoneもやっています。中止されたセッション (別名デバッグまたはクラッシュ) の後、Bonjour (または GKsessions) が混乱しているように見え、これと同じシナリオが発生します。OS 3.x ではメッセージは表示されず、ハングアップするだけでした。OS 4.x では、「GCKSessionEvent_IncomingOOBPacket...」というメッセージが表示されます。これが何を意味するのかわかりませんが、GKsession を再起動するか、再接続するか、場合によっては待機するだけで問題が解決します。ピア/レシーバーの混乱により、送信データのバッファーがいっぱいになっている可能性があります。

于 2010-07-08T19:30:41.947 に答える
0

Kendrick さん、あなたが 4.0 SDK を使用していると仮定すると、あなたはこれで SOL になるかもしれません。GKSession には、最近導入された 4.0 SDK (クラッシュ、エラー、速度低下) に多数の致命的なバグがあります。このメッセージは、そのうちの 1 つによるものです。4.0 がリリースされたときに GameKit アプリを提出しようとしていましたが、今は提出できるように 4.1 を待っています。4.1 Beta ではこれらの問題の多くが修正されていますが、残念ながら 3.1.3 で機能していたようには機能しません。

于 2010-07-19T06:32:57.600 に答える