L'écoute CocoaASyncSocket sur iPhone connexion réception mais nouveau socket n'appelle pas délégué

StackOverflow https://stackoverflow.com/questions/4230191

  •  26-09-2019
  •  | 
  •  

Question

Je suis en train de mettre en œuvre Pasing des messages de base entre les deux appareils en spécifiant les adresses IP. Lorsqu'un périphérique indique sa prise d'écoute d'écouter comme suit:

UInt16 port = 59647;
NSError *err = nil;
[socket acceptOnPort:port error:&err];

Le délégué didAcceptNewSocket est appelé correctement, et doit renvoyer une nouvelle prise à la connexion IP: Port. Pour autant que je peux dire qu'il fait cela, cependant, le nouveau socket doit être ensuite appeler didConnectToHost, qui, autant que je peux dire que ce n'est pas.

didConnectToHost est correctement mis en œuvre, comme le dispositif qui établit la connexion avec son socket appelle correctement après la connexion a été établie.

Je ne fais rien en didAcceptNewSocket à part quelques NSLogs et réglage de l'ancienne prise d'écoute à la nouvelle (comme pas nécessaire après et l'avoir affecté à une autre variable avant n'a pas changé quoi que ce soit, il ne devrait il).

Que pourrait faire ma nouvelle prise du côté de l'écoute pas appeler ce délégué?

Était-ce utile?

La solution

Puisque vous avez affaire à un client et un serveur, il est important de se rendre compte que seul le client appelle la méthode délégué socket:didConnectToHost:port: comme il est le client qui se connecte à un hôte (non l'inverse).

Sur le serveur, la méthode de délégué socket:didAcceptNewSocket: est appelé avec la prise d'écoute comme premier argument.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top