gpt4 book ai didi

android - 如何使用 Android 的本地网络服务发现找到所有可用的服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:23 51 4
gpt4 key购买 nike

我读过android documentation关于使用 NSD 查找特定网络服务。下面是我的代码,用于发现所有可用的 _http._tcp 服务。

final NsdManager.DiscoveryListener discoveryListener = new NsdManager.DiscoveryListener() {
@Override
public void onDiscoveryStarted(String s) {
Log.i(TAG, "onDiscoveryStarted: " + s);
}

@Override
public void onServiceFound(NsdServiceInfo nsdServiceInfo) {
Log.i(TAG, "onServiceFound: " + nsdServiceInfo.toString());
}

@Override
public void onServiceLost(NsdServiceInfo nsdServiceInfo) {
Log.i(TAG, "onServiceLost: " + nsdServiceInfo.toString());
}

@Override
public void onDiscoveryStopped(String s) {
Log.i(TAG, "onDiscoveryStopped: " + s);
}

@Override
public void onStartDiscoveryFailed(String s, int i) {
Log.i(TAG, "onStartDiscoveryFailed: " + s);
}

@Override
public void onStopDiscoveryFailed(String s, int i) {
Log.i(TAG, "onStopDiscoveryFailed: " + s);
}
};

final NsdManager manager = (NsdManager) getSystemService(Context.NSD_SERVICE);
manager.discoverServices("_http._tcp", NsdManager.PROTOCOL_DNS_SD, discoveryListener);

到目前为止一切正常。但是,我想知道如何使用这种方法在网络上找到所有可用服务?我可以看到有许多不同的服务(例如 _ipp._tcp_airport._tcp_airplay._tcp_atc。 _tcp 以及更多)在我的本地网络上可用,使用 ZeroConf 在 Google PlayStore 上找到的浏览应用程序。

是否有任何通配符允许通过单个发现监听器收集所有可用服务,因为我在开发者页面上找不到此类信息?

最佳答案

用 _services._dns-sd._udp 改变你的服务我也有,它在 nsd 工作但在 jmdns 中它不起作用

关于android - 如何使用 Android 的本地网络服务发现找到所有可用的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38722634/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com