Android NSD:registerService返回端口0和主机空。
创始人
2024-08-14 21:00:42
0

问题描述: 在使用Android的NSD(Network Service Discovery)功能时,调用registerService方法注册服务时,可能会返回端口为0和主机为空的情况。

解决方法:

  1. 确保已经正确配置了NSD权限和相关的网络权限。在AndroidManifest.xml文件中添加以下权限:





  1. 在注册服务之前,确保设备已经连接到了一个有效的网络。可以使用ConnectivityManager类来检查网络连接状态:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
    // 网络已连接
} else {
    // 网络未连接
}
  1. 确保在注册服务之前已经初始化了NsdManager对象,并且已经设置了注册服务的回调监听器:
NsdManager nsdManager = (NsdManager) getSystemService(Context.NSD_SERVICE);
NsdManager.RegistrationListener registrationListener = new NsdManager.RegistrationListener() {
    @Override
    public void onRegistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
        // 注册失败处理逻辑
    }

    @Override
    public void onServiceRegistered(NsdServiceInfo serviceInfo) {
        // 注册成功处理逻辑
    }

    @Override
    public void onServiceUnregistered(NsdServiceInfo serviceInfo) {
        // 取消注册处理逻辑
    }

    @Override
    public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
        // 取消注册失败处理逻辑
    }
};
  1. 在调用registerService方法时,确保传递了正确的NsdServiceInfo对象,并且设置了正确的端口和主机:
NsdServiceInfo serviceInfo = new NsdServiceInfo();
serviceInfo.setServiceName("MyService");
serviceInfo.setServiceType("_http._tcp.");
serviceInfo.setPort(1234); // 设置正确的端口号
serviceInfo.setHost(InetAddress.getLocalHost()); // 设置正确的主机地址

nsdManager.registerService(serviceInfo, NsdManager.PROTOCOL_DNS_SD, registrationListener);

注意:上述代码示例中设置了固定的端口和主机,实际使用时应根据具体需求进行设置。

通过以上步骤,应该可以解决Android NSD中registerService返回端口0和主机空的问题。

相关内容

热门资讯

透视详情"大菠萝手游... 透视详情"大菠萝手游辅助"一直有辅助方法(哔哩哔哩)1、大菠萝手游辅助辅助器安装包、大菠萝手游辅助辅...
透视推荐"we po... 透视推荐"we poker辅助器v3.3"本来是有辅助器(哔哩哔哩)1、实时we poker辅助器v...
透视揭露"wepok... 透视揭露"wepoker破解器"切实有辅助器(哔哩哔哩)1、下载好wepoker破解器正确养号方法之...
透视普及"hh po... 透视普及"hh poker辅助有用吗"一贯真的有辅助攻略(哔哩哔哩)1)hh poker辅助有用吗辅...
透视揭幕"wepok... 透视揭幕"wepoker安装教程"确实是真的辅助软件(哔哩哔哩)1、实时wepoker安装教程透视辅...
透视解密"aapok... 透视解密"aapoker公共底牌"好像真的是有辅助app(哔哩哔哩)1、用户打开应用后不用登录就可以...
透视科普"聚星ai辅... 透视科普"聚星ai辅助工具下载"一直存在有辅助插件(哔哩哔哩)1、进入到聚星ai辅助工具下载是否有挂...
透视了解"aapok... 透视了解"aapoker插件下载"果然真的是有辅助教程(哔哩哔哩)1、游戏颠覆性的策略玩法,独创攻略...
透视解密"aapok... 透视解密"aapoker怎么提高中牌率"竟然是有辅助器(哔哩哔哩)1、进入游戏-大厅左侧-新手福利-...
透视揭露"拱趴大菠萝... 透视揭露"拱趴大菠萝挂怎么安装"真是存在有辅助器(哔哩哔哩)1、进入到拱趴大菠萝挂怎么安装是否有挂之...