0

Bonjour/NSNetService를 통해 피어 투 피어 연결을 설정하는 iOS 앱이 있습니다. (WiTap 샘플 코드 기준)Bonjour/NSNetService NSOutputStream에 쓰여진 데이터가 상대방에게 결코 전달되지 않습니다 (includesPeerToPeer = true)

경우에 따라 데이터를 쓸 수있는 동안 (즉, 오류가보고되지 않음) 두 장치가 몇 초 후에 더 이상 데이터를받지 못합니다.

NSOutputStream에 기록 된 데이터는 절대 상대방의 NSInputStream으로 보내지 않습니다.

이상한 부분은 연결이 설정된 직후 송수신이 작동한다는 것입니다. 몇 초 후에 나빠질 것 같습니다.

includesPeerToPeer = false로 설정하면 더 이상 발생하지 않습니다. 같은 문제가있는 사람이 있습니까? 블루투스를 사용해야하기 때문에 피어 투 피어를 사용해야합니다.

감사

답변

0

내 첫번째 추측은 당신이 더 많은 데이터를 수용 할 준비가되어 있음을 알려주는 스트림 이벤트를 얻기 전에 스트림에 데이터를 기록하고 있다는 것이다.

이것이 문제가되지 않는다면 코드에 버그가 있거나 (아무 것도 게시하지 않은 것) ... 문제가되는 클래스가 여전히 올바르게 작동하지 않을 수도 있습니다. . 참조 :

https://developer.apple.com/library/ios/qa/qa1546/_index.html

을 그것이 사실 인 경우에, 당신은 코어 재단 짧게에 드롭 다운해야 할 수도 있습니다.

+0

저는이 패치를 사용하고 있지만 아무 것도 변경하지 않습니다. –