問題タブ [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 に答える
2289 参照

ios - NSNetService は発行しますが、didAcceptConnectionWithInputStream... は呼び出されません

メッセージを受信し、そのメッセージに基づいてアクションを実行するiOS上で簡単なアプリを作成しようとしています(現時点では、を介して表示したいだけですNSLog)。サービスに接続できますが、サービスが何も受信していないようです。ここに私の.hファイルがあります:

そして私の.m:

これは次の方法で呼び出されます。

Bonjour Browserを使用するとサービスが表示され、独自の の実装NSNetServiceBrowserまたは Bill Dudney の例 (ブログ投稿コード) を使用すると、接続しているように見えます (つまり、自分の実装は を介し​​てNSStreamEventHasSpaceAvailableおよびNSStreamEventOpenCompletedイベントを受け取りますstream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode) 。 . ただし、上記のメソッドはいずれもサーバー上で呼び出されません。

私はまだ iOS に慣れていないので、これがばかげた間違いであり、簡単に修正できることを願っています。

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

c# - MonoTouch で Bonjour NSNetService を使用して NSData から IP アドレスを取得しますか?

iOS で Xamarin + MonoTouch を使用して、ネットワーク上の Web サーバーを参照し、そこからファイルをダウンロードしています。

resolve イベント ハンドラに渡される NSNetService には、アドレスが NSData として含まれています。その NSData を実際の IP アドレスに変換してから URL を作成する良い方法が見つかりません。つまり、http:// < IPAddress > /folder/file.htm です。

これは私の NSNetService.AddressResolved イベント ハンドラーです。

解決イベントで NSNetService からサービスの IP アドレスを取得する正しい方法は何ですか?

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

ios - didAcceptConnectionWithInputStream:outputStream: はどのように呼び出されますか?

私の最初の質問は、どのようにdidAcceptConnectionWithInputStream:outputStream:コールバックNSNetServiceDelegateを取得して呼び出されるのですか?

フォローアップの質問: クライアントとサーバー間の接続を確立できますdidAcceptConnectionWithInputStream:outputStream:か?

publishWithOptionsを呼び出すと、NSNetServiceListenForConnectionsオプションを渡すとNetServiceDelegateコールバック ( didAcceptConnectionWithInputStream:outputStream:) が呼び出されることになっていることを理解しています。ただし、そのコールバックは呼び出されません。

公開するために私が取っている手順は次のとおりです。

  1. NSNetServiceで作成

    self.netService = [[NSNetService alloc] initWithDomain:@"" type:_serviceType name:(_name == nil) ? @"" : _name ポート:0];

  2. デフォルトモードで、現在のランループでサービスをスケジュールする

  3. デリゲートをサーバー ラッパー オブジェクトに設定する
  4. 電話publishWithOptions:NSNetServiceListenForConnections

サービスを閲覧するために私が取る手順は次のとおりです。

  1. を作成しNSNetServiceBrowser、そのデリゲートをクライアント ラッパー オブジェクトに設定します
  2. searchForServicesOfTypeと同じサービス タイプとドメインを呼び出すNSNetService
  3. UITableViewユーザーがサービスを選択できるように、UI にサービスをリストします。
  4. ユーザーがサービスを選択したら、サービスのデリゲートをクライアント オブジェクトに設定し、サービスを呼び出しますgetInputStream:outputSteam:
  5. getInputStream:outputSteam: が成功を返した後、呼び出されることを期待didAcceptConnectionWithInputStream:outputStream:します。ただし、これは発生しません。

ご協力いただきありがとうございます!

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

objective-c - クライアントが切断されたときに NSNetService に通知する方法は?

私はObjective-C / Cocoaが初めてで、bonjourサーバークライアントアプリを作成しようとしています。経験が浅いので、コードだけでなくやり方も含めて回答いただけると助かります。

netService:didAcceptConnectionWithInputStream:outputStreamサーバーのメソッドを使用して、サーバーとクライアントの間に接続と入出力ストリームを確立することに成功しました。

問題は、サーバーに接続されているすべてのクライアントのリストを持たせたいということです。クライアントの NSNetServiceBrowserDelegate には、bonjour サービスとの接続が終了するたびに取り消されるメソッドがあることを知っていますNSNetServiceDelegate。クライアントが切断されます。

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

ios - BLE デバイスに接続し、iOS 7 の NSNetService 経由でデータを送受信します

を介して外部デバイスと通信するiPhoneアプリがありますNSNetService。次に、Bluetooth のサポートを追加します。そのため、Bluetooth (BLE) 経由でデバイスを検出して接続し、接続時に 経由でデータを送受信したいNSNetServiceので、既存のコードを再利用します...

これはiOS7+で可能ですか? 例/ヒントをいただければ幸いです。