Ma première question est comment puis-je obtenir le rappel didAcceptConnectionWithInputStream:outputStream:
dans NSNetServiceDelegate
pour se faire appeler?Comment didAcceptConnectionWithInputStream: outputStream: est-il appelé?
Question de suivi: puis-je toujours établir une connexion entre un client et un serveur, bien que je ne reçoive jamais de rappel indiquant qu'une connexion a été acceptée (via didAcceptConnectionWithInputStream:outputStream:
)?
Je comprends que l'appel publishWithOptions
, en passant dans l'option NSNetServiceListenForConnections
est censé entraîner le rappel NetServiceDelegate
(didAcceptConnectionWithInputStream:outputStream:
) à appeler. Cependant, ce rappel n'est pas appelé.
Voici les étapes que je prends, de publier:
Créer
NSNetService
avecself.netService = [[NSNetService alloc] initWithDomain: @ "" Type : _serviceType nom: (_name == nul)? @ "": _name port: 0];
service de planification dans runloop courant, en mode par défaut
- Définissez le délégué à mon objet wrapper Server
- d'appel
publishWithOptions:NSNetServiceListenForConnections
Voici les mesures que je prends, pour parcourir les services:
- Créer un
NSNetServiceBrowser
et définir son délégué sur mon objet wrapper client - Appel
searchForServicesOfType
pour le même type de service et domaine commeNSNetService
- Liste des services dans un
UITableView
pour l'interface utilisateur, pour permettre à un utilisateur de sélectionner un service - Lorsqu'un utilisateur sélectionne un service, réglez le délégué du service à mon client objet, et appelez
getInputStream:outputSteam:
sur le service - Après getInputStream: outputSteam: renvoie le succès, je m'attendrais
didAcceptConnectionWithInputStream:outputStream:
à être appelé. Cependant cela ne se produit pas.
Merci pour votre aide!
avez-vous compris? – Legolas