android mdns开发实例,uni

android mdns开发实例,uni

//#ifdef APP-PLUS //条件编译

let vm = this;

let mServerType = '_http._tcp.';//服务类型

let NsdServiceInfo = plus.android.importClass('android.net.nsd.NsdServiceInfo');

let NsdManager = plus.android.importClass('android.net.nsd.NsdManager');

let Context = plus.android.importClass('android.content.Context');

// 导入后可以使用new方法创建类的实例对象

let nsd_service_info = new NsdServiceInfo();

let nsd_manager = new NsdManager();

//获取应用主Activity实例对象系统服务NSD_SERVICE方法

let mNsdManager = plus.android.runtimeMainActivity().getSystemService(Context.NSD_SERVICE);

//实列API接口监听回调函数

let mDiscoveryListener = plus.android.implements('android.net.nsd.NsdManager$DiscoveryListener', {

onServiceFound: function(service) {

//先发现设备服务再执行连接获取数据

//导入service类

plus.android.importClass(service);

//实列化连接服务接口监听回调函数

//注意NsdManager$ResolveListener中间使用$不是“.”

let mResolveListener = plus.android.implements('android.net.nsd.NsdManager$ResolveListener', {

onServiceResolved: function(services) {

//连接服务

let name = services.getServiceName();

let port = services.getPort();

let ip = services.getHost();

plus.android.importClass(ip); //导入services.getHost()类

ip = ip.getHostAddress();

let arry = {

name: name,

port: port,

ip: ip

};

}

});

mNsdManager.resolveService(service, mResolveListener);//启动连接服务

}

});

// 导入mNsdManager Java类对象

plus.android.importClass(mNsdManager);

mNsdManager.discoverServices(mServerType, 1, mDiscoveryListener);//启动监听服务(类型,常量,回调函数)参考java discoverServices需要携带的参数类型

//#endif

plus调用安卓所有原生大致实现方法:

1.let NsdServiceInfo= plus.android.importClass("java类")

2.let nsd_service_info= new NsdServiceInfo() new方法创建类的实例对象

3.let mNsdManager = plus.android.runtimeMainActivity().getSystemService(Context.NSD_SERVICE); //获取应用主Activity实例对象系统服务NSD_SERVICE方法

4.plus.android.implements 声明监听回调方法 (主要通过监听函数获取数据)

5.mNsdManager.discoverServices(mServerType, 1, mDiscoveryListener);//启动监听服务

/+/master/samples/training/NsdChat/src/com/example/android/nsdchat/NsdHelper.java 需要引入的类和整个实现方法参考java源代码

发布者:admin,转转请注明出处:http://www.yc00.com/news/1692322181a585105.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信