gpt4 book ai didi

android - NsdManager 找不到 http 服务器

转载 作者:行者123 更新时间:2023-11-30 02:44:09 27 4
gpt4 key购买 nike

我在本地网络上运行一个简单的 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/

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