問題タブ [avahi]

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 投票する
0 に答える
945 参照

avahi - Avahi デーモンが間違ったホスト名に解決される

Apple 空港ルーターに対する avahi のアドレス解決の問題に直面しています。

私が走るときavahi-browse -alr

これは出力ですが、私のアップル空港のIPアドレスは192.168.1.21

この IP アドレスに解決されるようにファイルを編集したところ/etc/avahi/hosts、数分間は機能し、その後アドレスは元に戻りました169.254.8.180

前もって感謝します。

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

service - Bonjour Avahi デーモン TXTRecord

複数のデバイス間で情報を共有するために、txt レコードを使用しようとしています。したがって、私はボンジュール/アバヒを使用しています。サーバー側は、Wireshark の証明として正常に動作します。情報は txt レコードに追加され、MDNS を使用して送信されます。この問題は、デーモン/サービスが情報の変更を常に取得していないように見えるクライアント側で発生します。すでに古い情報が残っており、サービスを再度解決しようとしても自動的に更新されません。

クライアント側では、DNSServiceResolve をコールバック関数と組み合わせて使用​​しています。TXTRecordContainsKey と TXTRecordGetValuePtr を呼び出して、使用前にデータが利用可能であることを確認します。前述のように、情報が常に更新されるとは限らないことを除いて、これはすべて正常に機能します。

何か不足していますか、または DNSServiceResolve 以外のレコードをデーモンに強制的に更新させるために使用できる追加の API 関数呼び出しはありますか?

前もって感謝します。

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

c++ - ::avahi_client_new が「予期しない D-Bus エラーが発生しました」というエラーで失敗する

サービスの広告と発見に avahi を使用しています。avahi にも dbus が必要であることは周知のとおりです。そのため、dbus-1.6.8 ライブラリも追加されます。起動時に dbus-daemon と avahi-daemon を起動しています。両方のデーモンが実行されており、プロセス リストで確認できます。

しかし、avahi クライアントを作成しようとすると、::avahi_client_new 呼び出しが「予期しない D-Bus エラーが発生しました」というエラーで失敗します。AVAHI_ERR_DBUS_ERROR = -22, /**< An unexpected D-Bus error occured */

以下は私の機能です。

PS: Poll = ::avahi_threaded_poll_new(); 成功しています。

誰かがこの問題について何か手がかりがあれば教えてください。または、少なくともデバッグ方法。

前もって感謝します。

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

linux - avahi : avahi-autoipd によって生成された eth0:avahi のアドレスにホスト名を関連付ける方法は?

カスタムLinuxシステム(buildrootによるビルド)を備えたフリースケールimx6ボードでavahiを使用しています。

そこで、アドレスの割り当て (eth0:avahi) とホスト名の解決に avahi を使用します。私のフリースケール imx6 ボードは、別のサブネット マスク (eth0) で使用される「静的」ネットワーク アドレスを持つ別のインターフェイスも使用します。

また、別のインターフェイス eth0:0 を別のアドレスで作成しました (この 3 番目のイーサネット アドレスは、私の問題を理解するためにのみ作成されます)。

私のフリースケールimx6ボードのifconfig:

私のテストでは、freescale imx6 ボードに接続された PC を使用します。この PC からコマンド「avahi-browse -a -c -r -v」を起動します。

PC から avahi-browes を起動すると、フリースケール imx6 ボードのホスト名 (name.local) が表示されますが、eth0:avahi ではなくインターフェイス eth0:0 のアドレスに関連付けられています。インターフェイス eth0:0 を削除すると、freescale imx6 ボードのホスト名が eth0 に関連付けられます。

私の PC から、eth0、eth0:avahi アドレス、および eth0:0 (アクティブ化されている場合) を使用して、フリースケール imx6 ボードに ping を実行できます。

私の問題: コマンド「avahi-browse -a -c -r -v」を起動したときに、フリースケール imx6 ボードが eth0:avahi に関連付けられたアドレスを返すようにしたいのは、現在、フリースケール imx6 ボードが最後に構成されたインターフェイスを返すためです。 (私の例では eth0:0) その方法を知っていますか?

ご回答ありがとうございます。

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

linux - avahi デーモンを使用して、BNEP (BT-PAN) ネットワーク インターフェイスでサービスを公開および検出できますか

avahi デーモンを使用して、BNEP ネットワーク インターフェイスでサービスを公開および検出できますか? 2 つのデバイスが Bluetooth でテザリングされている場合、両方のデバイスに IP があるため、デバイス間で TCP-IP 通信を行うことができます。実際には、クロスプラットフォーム (Android と Linux) で mDNS Service Discovery を実行したいと考えています。Android では、Android の NSDManager を使用して BNEP (BT-PAN) ネットワーク インターフェイスでサービスを発行および検出でき、Android クロスデバイス通信でも機能します。そのため、Android から Android デバイスへの通信は問題ありません。

現在、Android で公開されているサービスを Linux で検出し、Linux から検出しようとしています (またはその逆) が、それができません。[Linux デバイスを Android でテザリングしました]

Linux では、avahi 構成 (/etc/avahi/avahi-daemon.conf) で、allow-interfaces=bnep0 に設定しました。

Linux からのサービスの検出で、公開されているサービスが見つかりません。または、Linux で公開されている Android のサービスも見つかりません。

以前にこの種の問題に直面した人はいますか?
bnep で公開されているサービスを見つけようとしています

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

zeroconf - Avahi はネットワーク上で同じサービス名を 2 回発行できますか?

ローカル ネットワーク経由でサービスを公開できる C プログラムを作成しようとしています。Avahi を使用して、downloadという名前の_lzo._tcpタイプのこのサービスを公開しています。

基本的に、この C プログラムを 2 つの raspberry-pi ボードにデプロイしました。どちらも avahi-daemon と異なる IP アドレス (192.168.0.10 & 192.168.0.11) を持っています。

実際、サービスを宣言した最初の raspberry-pi に対応する avahi-discover を使用して、2 つのダウンロードサービスのうちの 1 つを見つけました。

2 つ目では、avahi-daemon によって問題が発生することはありません。2 つの異なる発行元に対応する、同じタイプの同じダウンロードサービスを2 回持つことは本当に可能ですか?

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

nginx - .local ゾーンへの Nginx 動的 proxy_pass 変数

proxy_passそのため、Avahi によって制御される .local ゾーン内のサーバー上の vagrant マシンに動的にしたいと考えています。nginx 仮想ホスト構成があります。

Nginx から /var/log/nginx/error.log にエラーが返されました:

しかし、$subdomainたとえば、手動で「テスト」に設定すると、それは機能し、実際に必要なように test-example.local マシンに渡されます。

それを本当に動的にする方法は?仮想ホスト構成で何を変更する必要がありますか?

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

java - javaサーブレット内で実行されるシェルスクリプトファイルでスリープが必要な理由

script.shJava サーブレットと手動の両方で実行する必要があるシェル スクリプトがあります。その内容は次のとおりです。

更新: 末尾の & を削除することはできません。これは、がavahi-publish返されないためですが、開始すると実行され続け、他のサービスを公開する必要があるためです。

サーブレットは次のとおりです。

問題は、サーブレットがブラウザーでアクセスされた場合、サービス MyInstance が公開されないことです。しかしsleep 0.1s、スクリプトファイルに追加すると解決します。

私の質問は、Runtime.exec() に魔法があり、なぜsleep命令が必要なのかということです。

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

android - Android NsdManager 定期的に失われ、avahi デーモン サービスが見つかりました

avahi-daemon (デフォルト構成) がインストールされ、サービス test.local が登録された Linux PC があります。Bonjour を介して test.local サービスを検出する iOS からは魅力的に機能しますが、Android からはそうではありません。Nsd Manager は定期的に (毎秒) NsdManager.DiscoveryListener OnSeviceLost() を呼び出し、その直後に OnServiceFound() を呼び出します。実際の検出は機能しますが、毎秒 OnServiceLost が発生し、内部のソフトウェア ロジックが壊れています。

次のドキュメントに基づく私の Android コード: https://developer.android.com/training/connect-devices-wireless/nsd.html

説明されている動作 (定期的な Lost+Found サービスの検出) を防ぐための「avahi デーモン」/Android 用の特別な構成はありますか?