- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在本地网络上运行一个简单的 http 服务器,并尝试使用 Android 设备上的 NsdManager 来发现它。我关注了 Android training guide on this matter ,但我的设备找不到任何服务。
这是我的 Android 代码:
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void setupNetworkDiscovery()
{
discoveryListener = new NsdManager.DiscoveryListener()
{
@Override
public void onStopDiscoveryFailed(String serviceType, int errorCode)
{
// TODO Auto-generated method stub
}
@Override
public void onStartDiscoveryFailed(String serviceType, int errorCode)
{
Log.d(getPackageName(), "Start failed");
}
@Override
public void onServiceLost(NsdServiceInfo serviceInfo)
{
// TODO Auto-generated method stub
}
@Override
public void onServiceFound(NsdServiceInfo serviceInfo)
{
Log.d(getPackageName(), "Found a service");
// display the service info
StringBuilder sb = new StringBuilder();
sb.append(serviceInfo.toString());
sb.append(" - name: ");
sb.append(serviceInfo.getServiceName());
sb.append("; type: ");
sb.append(serviceInfo.getServiceType());
sb.append("\n");
servicesLabel.append(sb.toString());
}
@Override
public void onDiscoveryStopped(String serviceType)
{
// TODO Auto-generated method stub
}
@Override
public void onDiscoveryStarted(String serviceType)
{
Log.d(getPackageName(), "Start succeeded");
}
};
nsdManager = (NsdManager) getSystemService(Context.NSD_SERVICE);
nsdManager.discoverServices("_http._tcp", NsdManager.PROTOCOL_DNS_SD, discoveryListener);
}
我收到的唯一日志消息是来自 onDiscoveryStarted 的“Start succeeded”。
服务器肯定在运行,因为我可以使用浏览器连接到它。 nmap 还确认端口已打开:
Nmap scan report for 192.168.1.104
Host is up (0.00011s latency).
PORT STATE SERVICE
8080/tcp open http-proxy
我做错了什么?
提前致谢!
最佳答案
我认为这不是您的主要问题,但服务类型应该是“_http._tcp”。(你错过了最后的点)对我来说 (API 21),您的代码工作正常,发现“_http._tcp”仍然返回“_http._tcp”的服务。
关于android - NsdManager 找不到 http 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339910/
我遇到了 Android 问题 NsdManager按照他们的教程 Using Network Service Discovery . 我的网络上有一些 zeroconf/bonjour 硬件设备。在
从例子开始http://developer.android.com/training/connect-devices-wirelessly/nsd.html代码,我一直在构建一个旨在在同一子网中的多个
在我目前正在开发的 Android 应用程序中,我想使用 NsdManager 连接做零配置网络。 我设法运行网络服务发现并连接到所需的网络,但停止发现后 NsdManager 线程仍在运行。这会导致
我在本地网络上运行一个简单的 http 服务器,并尝试使用 Android 设备上的 NsdManager 来发现它。我关注了 Android training guide on this matte
我正在尝试使用 Android 的 NsdManager API 实现一个用于服务发现的类。我想知道如何从主要 Activity 开始一段固定时间的服务搜索,然后停止它以使用搜索结果? NsdMana
我正在尝试使用 NsdManager 在 android 上注册一个 nsdservice,但它总是因为内部错误而失败,不管那是什么意思。这只是一个测试,将来我希望能够将多个设备连接到一个“主机设备”
为了让 NsdManager 发现功能在 Android 9 上运行,我已经尝试了很长时间。它可以在 Android 9 之前的任何 Android 版本上运行,没有任何问题。 出于测试目的,我使用了
我在使用 context.getSystemService(Context.NSD_SERVICE) 时遇到问题。它只是崩溃了。代码如下: 我的网络服务发现助手: public NetworkServ
我正在使用 NsdManager 在本地网络上注册一个 Web 服务。我的问题是设备名称称为“android”,因此我可以从我的笔记本电脑上以“android.local”访问手机。我怎样才能改变这个
我在 Android 应用程序中使用 NsdManager 来发现由我开发的另一台设备发布的 NSD 服务。我只在 Android App 上进行服务发现(这方面不需要服务注册)。网络上同时发布了多个
我正在尝试获取作为参数传递给 NsdManager.DiscoveryListener.onServiceFound() 的 NsdServiceInfo 的 mHost,但它为空。我有两个 andr
在过去的几周中,Android的NSD实现让我发疯了: 从用户的角度来看,会出现以下问题: 设备以完全不确定的方式相互发现。如果我启动基于NsdManager的应用程序,则只要涉及两个设备,它就会或多
我是一名优秀的程序员,十分优秀!