Я пытаюсь реализовать базовую передачу сообщений между двумя устройствами, указав IP-адреса. Когда одно устройство сообщает своему прослушивающему сокету прослушивание следующим образом:
UInt16 port = 59647;
NSError *err = nil;
[socket acceptOnPort:port error:&err];
Делегат didAcceptNewSocket
вызывается правильно и должен возвращать новый сокет на подключаемый IP:порт. Однако, насколько я могу судить, он делает это, тогда новый сокет должен вызывать didConnectToHost
, чего, насколько я могу судить, это не так.
didConnectToHost
реализован правильно, так как устройство, которое инициирует соединение со своим сокетом, правильно вызывает его после установления соединения.
Я ничего не делаю в didAcceptNewSocket
, кроме нескольких NSLogs
и устанавливаю старый прослушивающий сокет на новый (поскольку он не нужен после, и назначение его другой переменной до этого ничего не изменило и не должно).
Что может привести к тому, что мой новый сокет на стороне прослушивания не вызовет этого делегата?