問題タブ [nsnetservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
540 参照

iphone - NSNetService - Mac デバイスか iOS デバイスかを確認するにはどうすればよいですか?

NSNetService 経由で配置されたデバイスが iPhone、iPad、または Mac のいずれであるかを確認する方法はありますか? 私が今思いつく唯一の解決策は、見つかったすべてのものに接続して ping を実行し、それぞれがその情報で ping を返すように設定することです。それらすべてで NSNetService を拡張して、それ自体が言う「デバイスタイプ」を持つことができますか? それとももっと簡単な方法がありますか?

0 投票する
1 に答える
536 参照

xcode - NSNetService の「停止」メソッドが機能しない

Bonjourを使用してブロードキャストするためにNSNetServiceを使用しています。しかし、それを止めたいときは を使用[netService stop]netServiceますNSNetService。止まらないだけで、呼び出されますが、止まりません。netServiceDidStop呼ばれていないので、なんとなく止められないのかな。ところで、このプロジェクトでは自動参照カウント (ARC) を使用していますが、これがこの問題の原因であると思われます。何が悪いの?

0 投票する
2 に答える
2164 参照

objective-c - WiFi を介して iPhone アプリケーションで複数のピアを接続する方法は?

複数のピアに接続する必要がある ios(iPhone) アプリケーションのアイデアがあります。コードはWiTab (SampleCode-developer.apple.com) の例に基づいています。

私のアプリケーションが各ピアを開始すると、個別のソケット(CFSocket)を作成し、NSNetService クラスを介して公開します。特定のインスタンス NSNetServiceBrowser クラスは、利用可能なピアを見つけます。テーブルビューで名前を表示します。テーブルビューで行を選択すると、対応するピアアドレスが解決され、接続が確立され、データの送受信が正常に行われました。

しかし、私の意図は、tableView(複数のピア)で複数の行を選択したいということです。選択したピアのアドレスを解決しました。そのために、選択したピア情報を NSMutableArray に保存しました。送信ボタンをクリック(タッチ)すると、選択したデバイスのアドレスを解決し、選択したピアにデータを送信したい。そのために私はこのコードをやった

しかし、それは1つのデバイス(self.selectedService objectAtIndex:0)のみを解決します。したがって、複数のピアアドレスを解決するにはどうすればよいですか/複数のデバイスの接続を確立する方法. 私の疑問は次のとおりです:-

  1. WiFi経由で複数のデバイスを同時に接続することはできますか?
  2. はいの場合、同じパターンで接続できるデバイスの最大数は何台ですか?
  3. 複数接続(TCP/UDP)に便利なCFSocketはどれ?
  4. 各ピアに複数の CFSocket を作成する必要がありますか?
  5. はいの場合、どのように?利用可能なドキュメントはありますか?
  6. セッションを確立するために必要ですか?
  7. 複数のデバイスのアドレスを解決するには?
0 投票する
1 に答える
433 参照

objective-c - NSNetService デリゲートと ARC

私のアプリで次を実行しても、デリゲートは呼び出されません。

自動参照カウントを使用しています。ARCなしで同じことをすると完璧に機能します。デリゲートが呼び出される前に、NSNetService シームが解放されます。

どうすればこれを防ぐことができますか?

どうもありがとう!

0 投票する
3 に答える
6363 参照

ipad - エラー NSNetServicesErrorCode = "-72000" の原因は何ですか?

UIWebview を使用してローカル ファイルをロードできる単純なブラウザーを作成します。最初に、html ファイルをプレビューしようとすると、uiwebview はソース ファイルを読み込んでプレビューできます。しかし、アプリを最小化して (アプリがバックグラウンドに入る)、アプリを再度開いた後、次のエラーが発生しました。

その後、uiwebview はソース ファイルをロードできません。エラーをログに記録すると、次の(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)errorメッセージが表示されます。

アプリはクラッシュしませんが、回転インジケーターは決して止まりません。

誰かがこのケースの原因を教えてもらえますか? そしてそれを解決する方法は?

ありがとうございました :)

0 投票する
1 に答える
4301 参照

ios - NSNetService / Bonjourディスカバリーは、iPhoneシミュレーターでのみ機能します

基本的なクライアント/サーバー相互作用モデルを必要とするiPhoneアプリに取り組んでいます。このために、BonjourとNSNetServiceをNSNetServiceBrowserとともに使用して、同じネットワーク上の他のユーザーを検出します。私は多かれ少なかれ同じサンプルコードを持っているいくつかの異なるガイドに従いました。

関連するサーバーコード

サービスは正常に公開されます。つまり、netServiceDidPublish:コールバックを取得します。

関連するブラウザコード

これで、これらすべての結果が興味深いものになります。

  1. iPhoneで実行している場合、デバイスは独自に公開されたNSNetServiceのみを表示できます。
  2. 2台のiPhoneで実行しているため、どちらのデバイスも相手のNSNetServiceを認識できません。
  3. iPhoneシミュレーターで実行すると、独自のNSNetServicesを含むすべてのNSNetServicesが検出されます。

iPhoneシミュレータのスクリーンショット

ここに画像の説明を入力してください

私はここでちょっと途方に暮れています...シミュレーターは正確に期待どおりに動作しています。ただし、そうではないデバイスでは、同じWiFi上で2つの異なるiPhoneを相互に表示することはできず、自分自身のみを表示します。ここで何が起こっているのか分かりますか?

0 投票する
0 に答える
1065 参照

iphone - クライアントがbonjourサービスを検出していません

私はiPhoneアプリの設計を学び始めたばかりで、クラ​​イアントサーバー環境をセットアップしようとしています。まず、公開するサービスがクライアントに表示されることを確認したいと思います。私はAppleのドキュメントの助けを借りてサーバーとクライアントのコードを書きました。ただし、サービスが公開されているにもかかわらず(netServiceWillPublish(NSNetService *)senderが呼び出されている)、クライアントがこのサービスを識別していないことがわかりました。クライアント側では、デリゲート関数netServiceBrowserWillSearch:(NSNetServiceBrowser *)browserが呼び出され、クライアントがサービスを検索していると思わせます。ただし、didFindServiceデリゲート関数が呼び出されることはありません。なぜこれが機能しないのか、私は困惑しています。私はさまざまな場所からクライアント側のサンプルコードをフォローしましたが、私のコードはそれらのコードと一致しています。

また、私は次の質問があります

  1. サービス名(トランスポートレベルプロトコルに付属)は任意の文字列にすることができますか?または、http://www.dns-sd.org/ServiceTypes.htmlで指定する必要がありますか。また、サービスディスカバリとは別に、これはどのような目的を解決しますか。

  2. サーバー側でNSNetServiceオブジェクトの詳細を印刷すると(ソケットを設定してサービスを開始した後)、ホスト名が(null)として印刷され、アドレスが表示されません。技術的には、サービスが開かれるときに、これらを値に設定するべきではありませんか?はいの場合、誰かが私のコードのどこが間違っているのか教えてください。

サービスの公開と参照が行われるプロジェクトのクライアントとサーバーのコードブロックを添付しました。私はこの問題で私の仕事に行き詰まっているので、助けは非常にありがたいです。

これは、サービスを参照するクライアント側のコードスニペットです

これは、サービスを公開するサーバー側のコードスニペットです

これは、サービスが公開されていることを通知し、NSSocketオブジェクトの詳細を出力するコードスニペットです。

ありがとう
Vivek

0 投票する
0 に答える
250 参照

cocoa - apple _apple-midi._udp に接続できないのはなぜですか。NSNetService を使用した NetService?

Apple が公開した bonjour ネットサービス _apple-midi._udp で入力ストリームを開くと、エラーが発生します。次のエラーが表示されます: エラー Domain=NSPOSIXErrorDomain Code=61 "操作を完了できませんでした。接続が拒否されました" UserInfo=0x100358780 {}。

Apple は、この方法で MIDI ストリームにアクセスしようとする人々に眉をひそめますか? クライアントが選択できる MIDI ネットワーク ストリームの検出可能なリストを作成しようとしています。MacOSX経由で接続するとき、方程式からAudio Midi Setupアプリケーションを削除しようとしています。

ありがとう、

パトリック

0 投票する
2 に答える
5766 参照

iphone - NSNetService 経由で接続してデータを送信する

NSNetService を使用して、iPhone アプリと Mac アプリの間の通信をセットアップしようとしています。

iPhoneアプリが検出できるNSNetServiceを公開するようにMacアプリをセットアップするところまで来ましたが、それらの間でデータを送信する方法がわかりません。

私の Mac アプリでは、次のように NSNetService を公開しています。

すべてが正常に見え、delegate メソッド- (void)netServiceDidPublish:(NSNetService *)sender(Mac アプリ内) がトリガーされます。

iPhone アプリで のインスタンスを作成するNSNetServiceBrowserと、1 ~ 2 秒後にdidFindServiceデリゲート メソッドがトリガーされます。

この直後に、次のデリゲート メソッドがトリガーされます- (void)netServiceDidResolveAddress:(NSNetService *)sender

ここでは、接続されているかどうかわかりません。接続方法や接続状態が見つかりませんsender

だから私は出力ストリームに書き込もうとしました:

また、TXTRecordData を で更新し[sender setTXTRecordData:data];ます。エラーは発生せず、Mac アプリでは何も起こりません。Mac アプリにはデリゲート メソッドがあり- (void)netService:(NSNetService *)sender didUpdateTXTRecordData:(NSData *)dataます。

進め方がわかりません。何かが足りないと思いますが、それが Mac アプリにあるのか iPhone アプリにあるのかわかりません。まず、iPhone アプリから Mac アプリに何らかの方法で接続する必要があると思います。Mac アプリでは、接続をリッスンするものを追加します。

0 投票する
2 に答える
2858 参照

iphone - NetService から IP アドレスを取得する方法

NetService オブジェクトを取得したら、次のことを行います:</p>

デリゲート メソッドについて:</p>

ありがとう。