background image

5.2 Δημιουργία της διεπαφής διακομιστή-πελάτη 

[96] 

 

 

Εικόνα 5.2: Η όψη του διακομιστή 

 

5.2.1 Έναρξη εκπομπής “υπηρεσίας” (broadcasting) 

 
Για  να  διαχειριστούμε  τις  συνδέσεις  μεταξύ  συσκευών  και  να 

ξεκινήσουμε την εκπομπή της υπηρεσίας  που θα  “βλέπουν” οι πελάτες, 
δημιουργούμε μια νέα κλάση τύπου “NSObject”. 

Ο διακομιστής αρχικά κρατάει μια λίστα πελατών σε ένα προσωρινό 

πίνακα  τύπου  “Array”  και  ορίζει  με  μία  μεταβλητή  τύπου  “Int”  τον 
μέγιστο  αριθμό  πελατών  που  μπορούν  να  συνδεθούν  ταυτόχρονα.  Η 
εφαρμογή  ερωτοαπαντήσεων  έχει  μέγιστο  αριθμό  παικτών  τέσσερις, 
επομένως δηλώνουμε το μέγιστο αριθμό επιθυμητών συνδέσεων σε τρεις. 

Για τη διαχείριση των συνδέσεων και το broadcasting είναι υπεύθυνο 

το  “Gamekit.framework”,  το  οποίο  μας  παρέχει  αντικείμενα  τύπου 
“GKSession”.  Για  τη  λειτουργία  ως  διακομιστή  δημιουργούμε  μια 
μέθοδο  τύπου  –(void)startAcceptingConnections  η  οποία  ενημερώνει  το 
αντικείμενο  “GKSession”  να  λειτουργεί  ως  server.  Αυτό  σημαίνει  ότι 
κάνει  broadcasting  το  όνομα  που  έχει  δώσει  ο  χρήστης,  χωρίς  όμως  να 
ελέγχει  αν  εκπέμπετε  η  ίδια  υπηρεσία  όπως  φαίνεται  στον  παρακάτω 
κώδικα.