android 服务注册,android-无法注册NSD服务

我正在尝试与NSD合作,但我发现自己一开始就陷入了困境.

我用一个大按钮设置了一个非常基本的布局.此按钮的目的是在我的设备上启动和注册服务,以便其他设备能够通过LAN连接到该服务.按下所述按钮一次,将在我唯一的Activity中调用以下方法:

public void startService(View view){

initSocket();

initRegList();

regService();

}

在“ DevBytes:网络服务发现”视频之后,我实现了上面调用的方法,如下所示(请原谅我的YOLO-ing用于调试目的):

public void initSocket(){

try {

mSocket = new ServerSocket(0);

} catch (IOException e) {

e.printStackTrace();

}

mPort = mSocket.getLocalPort();

Log.e("YOLO-PORT", String.valueOf(mPort));

}

public void regService(){

NsdServiceInfo serviceInfo = new NsdServiceInfo();

serviceInfo.setServiceName("MyCoolService");

serviceInfo.setServiceType("_myapp.tcp.");

serviceInfo.setPort(mPort);

mNsdman = (NsdManager) this.getSystemService(this.NSD_SERVICE);

mNsdman.registerService(serviceInfo,NsdManager.PROTOCOL_DNS_SD,mReglist);

}

public void initRegList() {

mReglist = new NsdManager.RegistrationListener() {

@Override

public void onRegistrationFailed(NsdServiceInfo nsdServiceInfo, int i) {

Log.e("YOLO-FAIL", "REG_FAIL, errcode = " + String.valueOf(i));

}

@Override

public void onUnregistrationFailed(NsdServiceInfo nsdServiceInfo, int i) {

Log.e("YOLO-FAIL", "UNREG_FAIL, errcode = " + String.valueOf(i));

}

@Override

public void onServiceRegistered(NsdServiceInfo nsdServiceInfo) {

mServName = nsdServiceInfo.getServiceName();

Log.e("YOLO-NAME", mServName);

}

@Override

public void onServiceUnregistered(NsdServiceInfo nsdServiceInfo) {

Log.e("YOLO-OK", "UNREG");

}

};

}

我的问题是我一直陷入监听器的onUnregistrationFailed方法,返回码= 0.

当您按下上述按钮时,下面将显示Logcat条目:

09-14 21:54:03.904 18672-18672/fr.lpnsk.lollibox E/YOLO-PORT﹕ 48321

09-14 21:54:04.124 180-531/? E/MDnsDS﹕ service register request 22 got an error from DNSServiceRegister -65540

09-14 21:54:04.125 538-607/? E/NsdService﹕ Failed to execute registerService com.android.server.NativeDaemonConnector$NativeDaemonArgumentException: command '76 mdnssd register 22 MyCoolService _myapp.tcp. 48321' failed with '501 76 serviceRegister request got an error from DNSServiceRegister'

09-14 21:54:04.126 180-531/? E/MDnsDS﹕ register stop used unknown requestId 22

09-14 21:54:04.126 538-607/? E/NsdService﹕ Failed to execute unregisterService com.android.server.NativeDaemonConnector$NativeDaemonArgumentException: command '77 mdnssd stop-register 22' failed with '501 77 Unknown requestId'

09-14 21:54:04.127 18672-19953/fr.lpnsk.lollibox E/YOLO-FAIL﹕ REG_FAIL, errcode = 0

我在这里错过明显的东西吗?

谢谢您的帮助 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值