首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NsdManager找不到http服务器

NsdManager找不到http服务器
EN

Stack Overflow用户
提问于 2014-08-16 11:56:48
回答 1查看 543关注 0票数 2

我正在本地网络上运行一个简单的http服务器,并试图使用安卓设备上的NsdManager来发现它。我跟踪了Android关于这个问题的培训指南,但我的设备没有找到任何服务。

这是我的Android代码:

代码语言:javascript
复制
@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的“开始成功”。

服务器肯定在运行,因为我可以使用浏览器连接到它。nmap还确认端口是开放的:

代码语言:javascript
复制
Nmap scan report for 192.168.1.104
Host is up (0.00011s latency).
PORT     STATE SERVICE
8080/tcp open  http-proxy

我做错了什么?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2015-01-06 23:01:04

我不认为这是您的主要问题,但是服务类型应该是“_http._tcp”。对于我(API 21),您的代码工作正常,发现"_http._tcp“仍然返回”_http._tcp“的服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25339910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档