問題タブ [service-discovery]

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 に答える
500 参照

ios - iOS5 からの WCF Rest Service の発見

WCF Rest Service と通信する iOS アプリを構築しています。どちらも同じローカル ネットワーク上にあります。テスト中に、サービスの IP をハードコーディングしましたが、デプロイ時に機能しません。

サービスアドレスを取得したり、何らかの方法で接続したりするにはどうすればよいですか?

WCF ディスカバリーについて読んでいましたが、これを iOS に実装する方法がわかりません。

それが役に立ったら、私はWCF REST Service Template 40(CS)を使用しています

どんな助けでも大歓迎です。

編集:ボンジュールの使用はどうですか? 何かご意見は?

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

c# - WCFサービス検出の問題、結果を返すのに時間がかかりますか?

WCFサーバーライブラリとclient[Winform]があり、セルフホストのwinformを使用してサーバーを起動します。

クライアントがLAN上のアクティブなサーバーを検出できるようにしたいのですが、別の方法でオンラインサーバーのIPアドレスをリストに追加します。私は試しましたDiscoveryClientUdpDiscoveryEndpointそしてそれはうまくいきましたこれはコードです:

クライアント[Winform]:

サーバー[Winform]:

しかし、それは私が期待したようには機能しませんでした!

  • ClientDiscoveryに特定の基準を指定する必要があるのはなぜですか?私は多くのインターフェースを持っています、私はインターフェースのアドレスではなく、ホストアドレスだけが必要です!
  • リストを取得するのに時間がかかりすぎる[約15〜20秒]、速いと思いませんか?

    更新:
    WCFを使用する前にTCPソケットでサーバー検出を開発しました。試行/キャッチする並列スレッドを使用して、255のIPアドレスを接続してループしました。例:(192.168.1.X)、LAN5サーバーで試行しました[ PC]、結果はとても完璧で高速でした、私はタイムアウト(3秒)を座って
    いましたが、WCFではこれをどのように達成するのかわかりません!!

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

  • 0 投票する
    1 に答える
    2939 参照

    java - ブロードキャストサーバーの検出

    私はJavaで、2〜4人のプレーヤーがいるクラシックな5枚のカードポーカーをシミュレートするゲームを作成しています。ほとんどのデータはサーバーで処理されますが、オンラインサーバーを使用できないため、ユーザーがローカルサーバーを作成してゲームをホストできるようにすることを考えています。

    今、私はIPを使用してゲームに接続することを強制したくないので、ユーザー内に利用可能なすべてのゲームを表示できる「検出」インターフェイスを作成しました。これは、UDPプロトコルと共通グループのブロードキャスト調査を使用して行われます。

    (コードは、実行されたアクションのみを表示するように簡略化されています。ここに示されているように機能しない場合があります)

    クライアント

    サーバ

    クライアントはポート6020でUDPブロードキャストパケットを送信します。サーバーがこのパケットをバイト0xF0で構成されている場合に受信すると、サーバーはバイト0x0Fをクライアントに送り返します。すべてのクライアントはポート6020でもリッスンしており、バイト0x0Fで構成されるパケットを受信すると、ポート6020でサーバーへの新しい接続TCPを開始します。

    私の質問:この「発見」システムを実現するためのより良い方法はありますか?これはローカルネットワークでのみ機能することを知っていますが、ローカルサーバーを使用して検出を「外部」に拡張することは可能ですか?

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

    language-agnostic - サーバーを自動的に検出する方法は?

    クライアントアプリとサーバーアプリを開発しました。クライアントは http プロトコルを使用してサーバーと通信し、サーバーによって処理されるデータを送信します。

    私たちの構造により、サーバーをどこにでもインストールできます。同じクライアント ネットワークにいることも、クラウドにいることもできます。

    サーバーがクラウドでホストされている場合、ユーザーにサーバー アドレスを要求するのは理にかなっていますが (ユーザーが望む場合は変更できるため)、サーバーがクライアントと同じネットワーク上にある場合は意味がありません。それに加えて、現在、サーバーに接続するためにサーバーの ip/name を構成するようにユーザーに求めています。

    これを回避するために (ユーザーにアドレスを尋ねる)、UDP に基づく検出サービスを開発しました。クライアントは、サーバーがそのアドレスで応答するメッセージをブロードキャストします。場合によっては機能しますが、ユーザーが何らかの種類のファイアウォール、プロキシ、またはウイルス対策を使用している場合は機能しません。

    私は発見サービスについてたくさん読んだことがありますが、最も好きなものはBonjourです。

    問題は、サーバーがファイアウォールやプロキシなどによってブロックされずにクライアントと同じネットワーク上にある場合、サーバーの IP を検出する最良の方法は何ですか?

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

    android - NsdManager.DiscoveryListener 使用時の一定期間のサービス検出

    Android の NsdManager API を使用して、サービス検出用のクラスを実装しようとしています。メインアクティビティから一定時間サービス検索を開始し、それを停止して検索結果を使用するにはどうすればよいでしょうか?

    NsdManager API は、呼び出しが非同期であるべきだと言っています

    API は非同期であり、アプリケーションからの要求への応答は、別のスレッドのリスナー コールバックにあります。

    メッセージ応答でUIスレッドを更新するハンドラーをクラスに正常に送信しましたが、タイマーでメインスレッドをブロックせずに、たとえば5秒後に検出サービスを停止する方法がわかりません:S

    それが関連する質問であることを願っており、十分な情報を提供しました。

    Br

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

    java - FOOアプリケーションがインストールされ、インターネットに接続されているすべてのコンピューターに「コンピューター情報」をブロードキャストする

    コンピューター名/場所/IP をブロードキャストし、インターネットに接続されたプログラムを介してコンピューター名を受け取る方法はありますか? たとえば、これを考えてみてください。中央サーバーなしで行くことはできますか?

    ここに画像の説明を入力

    アプリケーションがインストールされ、インターネットに接続されているすべてのコンピューターの名前を保存する中央サーバーが存在する可能性がありますが、それなしでできる方法はありますか?

    リモート PC に接続するために、私は以前に RMI を使用しており、その機能を理解しています。

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

    java - mDNS コード ボンジュール

    サーバー検出プロトコルを開発する必要があるため、mDNS とその実装について理解できる mDNS ドキュメントを取得しようとしました。しかし、私は得ることができませんでした..誰かが同じものを手に入れるのを手伝ってくれますか..基本的なコードは私を大いに助けてくれます..

    JAVA を使用してディスカバリ プロトコルを実装する予定です。

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

    wcf - WCF ディスカバリーと DataService V3

    Data Services v3 の検出エンドポイント (TCP と UDP の両方) を公開し、クライアントからサービスを検出できるようにして、別のアプリケーションでそれらを検出できるようにしたいと考えています。検出の主なポイントは、クライアントでサービス エンドポイント アドレスを取得することです。

    Microsoft がWCF Discoveryに提供したサンプルを適応させようとしましたが、これまでのところ目標を達成できませんでした。サーバー側でカスタムData Service Host Factoryを作成しました。

    クライアント側では、次のコードを試しました。

    残念ながら、これは機能しません。InvalidOperationExceptionを取得します:

    DataModel のコントラクト タイプを取得しようとしましたが、そのタイプは ServiceContract ではなく、ServiceContract を継承していません。

    正しい方向に向かっているのであれば、発見のためのサービス コントラクトのタイプを表現する方法が必要です。残念ながら、通常の WCF Discovery のように機能するかどうかはわかりません...

    あなたのアイデアを共有してください。または、より良い解決策を共有してください。

    0 投票する
    6 に答える
    8245 参照

    android - Android NSD がすべてのサービスを検出しない

    Android Native Service Discovery を使用してアプリケーションを実行しようとしていますが、アプリケーションを実行すると、ネットワークからすべてのサービスが検出されないことがあります。4 つの Galaxy nexus を使用してhttps://github.com/joeluchoa/nsdからコードを実行していますが、ほとんどの場合、それぞれが異なる数のサービスを同時に検出します。

    基本的に、ServerSocket でサービスを実行します。

    次に、NsdManager の registerService メソッドを使用して公開します。

    サービスを発見するには、NsdManager からメソッド discoverServices を使用します。

    次のように mDiscoveryListener を使用します。

    私は何か間違ったことをしていますか?誰かがこれに対する解決策または回避策を知っていますか?

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

    web-services - OWL API - Web サービス検出のコンテキストでの OWL クラスの包含テスト

    私は非常に困難な仕事を前にしているので、どんな助けや提案も歓迎します.

    セマンティックの類似性のために、他の2つのWebサービスと一致するJava Webサービスを実装する必要があります。これらの他の 2 つの Web サービスについては、OWL オントロジーの概念を使用する OWL-S で説明します。S1 は探している Web サービス (私のクエリ) で、S2 はリポジトリにあるサービス (宣伝されている) です。そのため、Java コードから OWL-S 記述と OWL オントロジーにアクセスする必要があります。

    私は Eclipse、Tomcat、OWL API、および HermiT セマンティック推論を使用しています。

    私は非常に原始的なマッチング アルゴリズムを持っています。その主な目標は、サービス S1 の入力と出力を S2 の入力と出力と一致させることです。

    私はこのテーマの初心者であり、OWL API を使用したことも、オントロジーに取り組んだこともありません。

    私の現在のやることリスト: 1. OWL-S からプロセス・パラメーター・タイプ (OWL クラス) をロードします。S1 入力が C1 のタイプで、S2 入力が C2 のタイプであるとします。2. クラス C1 と C2 が私のオントロジー O にあるかどうかを確認します。

    これらのタスクについて、見つけられなかったコード例またはスニペットをいただければ幸いです。特に、クラス C2 がクラス C1 を包含しているかどうかをチェックします。

    よろしく