私の最初の質問は、どのようにdidAcceptConnectionWithInputStream:outputStream:
コールバックNSNetServiceDelegate
を取得して呼び出されるのですか?
フォローアップの質問: クライアントとサーバー間の接続を確立できますdidAcceptConnectionWithInputStream:outputStream:
か?
publishWithOptions
を呼び出すと、NSNetServiceListenForConnections
オプションを渡すとNetServiceDelegate
コールバック ( didAcceptConnectionWithInputStream:outputStream:
) が呼び出されることになっていることを理解しています。ただし、そのコールバックは呼び出されません。
公開するために私が取っている手順は次のとおりです。
NSNetService
で作成self.netService = [[NSNetService alloc] initWithDomain:@"" type:_serviceType name:(_name == nil) ? @"" : _name ポート:0];
デフォルトモードで、現在のランループでサービスをスケジュールする
- デリゲートをサーバー ラッパー オブジェクトに設定する
- 電話
publishWithOptions:NSNetServiceListenForConnections
サービスを閲覧するために私が取る手順は次のとおりです。
- を作成し
NSNetServiceBrowser
、そのデリゲートをクライアント ラッパー オブジェクトに設定します searchForServicesOfType
と同じサービス タイプとドメインを呼び出すNSNetService
UITableView
ユーザーがサービスを選択できるように、UI にサービスをリストします。- ユーザーがサービスを選択したら、サービスのデリゲートをクライアント オブジェクトに設定し、サービスを呼び出します
getInputStream:outputSteam:
。 - getInputStream:outputSteam: が成功を返した後、呼び出されることを期待
didAcceptConnectionWithInputStream:outputStream:
します。ただし、これは発生しません。
ご協力いただきありがとうございます!