سؤال

ولقد جعلت لعبة متعددة باستخدام إطار GameKit حيث 2 فون / آي بود يمكن الاتصال مع بعضها البعض عن طريق البلوتوث واللعب.

وأنا أفكر في طريقة لاختيار الجهاز الذي سوف يكون قادرا على اللعب لأول مرة. وبالتالي فإن الحل المنطقي هو لاختيار الدولة المضيفة للاتصال. هل هناك حتى الخادم والعميل في GKSession؟ هم جميع أقرانه؟ الطريق الذي يجب I اتخاذها لتحقيق ما أريد؟

هل كانت مفيدة؟

المحلول

وفي الأساس، والأمر متروك لكم لتكوين جلسة العمل الخاصة بك كما تريد.

ومن وثائق أبل:

<اقتباس فقرة>   

وجلسات اكتشاف أقرانه الآخرين على   شبكة تقوم على وضع الجلسة التي   ومن المقرر عندما الدورة هي   تهيئة. طلبك يمكن   تكوين الدورة أن يكون الخادم،   التي تعلن نوع الخدمة على   شبكة الاتصال؛ عميل، وهو البحث عن   خوادم الإعلانات. أو الأقران، التي   تعلن مثل الخادم والتفتيش   مثل عميل في وقت واحد.

     

ونسخة من التطبيق الخاص بك تعمل بوصفها   الخادم تهيئة الدورة   دعوة   initWithSessionID: DISPLAYNAME: sessionMode:   مع وضع دورة إما   GKSessionModeServer أو   GKSessionModePeer. بعد   تطبيق بتكوين الدورة،   تعلن خدمة عن طريق تعيين   جلسة في الممتلكات isAvailable إلى YES.

     

ونسخة من التطبيق الخاص بك تعمل بوصفها   تهيئة العميل الدورة   دعوة   initWithSessionID: DISPLAYNAME: sessionMode:   مع وضع دورة إما   GKSessionModeClient أو   GKSessionModePeer. بعد تكوين   الدورة، يبحث التطبيق الخاص بك   شبكة للخوادم الإعلانات من قبل   تحديد جلسة لisAvailable   خاصية YES. إذا كانت الجلسة   تكوين مع GKSessionModePeer   وضع الدورة، يعلن عن نفسه أيضا   كخادم، كما هو موضح أعلاه.

لذلك، إذا كنت تستخدم GKSessionModePeer تهيئة الدورة، لديك الأقران (التمثيل على حد سواء كما الخادم والعميل). إذا كنت تريد أن تميز ملقم من عملائها، تهيئة مع GKSessionModeServer.

وأطيب التحيات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top