Ouvir o cocoaasyncsocket na conexão de recebimento do iPhone, mas o novo soquete não chama Delegate

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

  •  26-09-2019
  •  | 
  •  

Pergunta

Estou tentando implementar uma mensagem básica entre dois dispositivos especificando IPS. Quando um dispositivo diz ao soquete de escuta para ouvir o seguinte:

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

o didAcceptNewSocket O delegado é chamado corretamente e deve retornar um novo soquete ao porta IP: portão. Tanto quanto eu posso dizer, está fazendo isso, no entanto, o novo soquete deve estar ligando didConnectToHost, o que, tanto quanto eu sei, não é.

didConnectToHost é implementado corretamente, pois o dispositivo que inicia a conexão com seu soquete o chama corretamente após a criação da conexão.

Eu não estou fazendo nada em didAcceptNewSocket Além de alguns NSLogs e definir o soquete de escuta antigo para o novo (como não é necessário depois, e atribuí -lo a uma variável diferente antes não mudou nada, nem deveria).

O que poderia fazer meu novo soquete no lado da audição não chamar esse delegado?

Foi útil?

Solução

Como você está lidando com um cliente e um servidor, é importante perceber que apenas o cliente invocará o socket:didConnectToHost:port: Delegado Método, pois é o cliente que se conecta a um host (não o contrário).

No servidor, o socket:didAcceptNewSocket: O método delegado é invocado com o soquete de escuta como o primeiro argumento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top