私は現在、ゲームのネットワークレイヤーを実装している最中ですが、進歩を遂げていますが、誰かが何かを流してくれることを望んでいた非常に奇妙なことに遭遇しました。
データを送信する前に、データをタイプNSData(message.cards = [MovePlayer beginEncodeMyCards:myCards];)にエンコードしてから、ポインター(message.cards)に割り当てます。
MessageMove message;
message.message.messageType = kMessageTypeMove;
/**/message.cards = [MovePlayer beginEncodeMyCards:myCards];/**/
NSData *data = [NSData dataWithBytes:&message length:sizeof(message)];
次のようにクライアント側ですべてのデコードを行う場合:
MessageMove *myMessage = (MessageMove *) [data bytes];
/**/myCards = [MovePlayer beginDecodeMyCards:myMessage->cards cardArray:myCards];/**/
すべてが正常に機能し、myMessage->カードをデコードできますが、オブジェクトをリモートで送信した後に同じことを実行しようとすると、正しいメッセージタイプ(kMessageTypeMove)は表示されますが、カードデータ(myMessage->カード)は表示されません。
誰かがこれにいくつかの光を当てることができれば私はそれを大いに感謝します
どうもありがとう