我需要我的应用程序搜索本地WiFi网络以查找具有特定端口上的应用程序的服务器计算机.我不想将服务器IP地址硬编码到应用程序中,因为它可能在许多地方使用.
更新:所以我需要能够找到网络上所有设备的IP地址.
到目前为止我做了什么:
通过执行以下步骤,Iv遵循堆栈溢出和在线的其他指南:
1.安装cordova插件:
"cordova plugin add cordova-plugin-networkinterface"
2.在全局范围内声明变量以访问该对象
declare var NetworkInterface: any;export class TestClass{}
3.使用组件内的全局变量调用对象
NetworkInterface.getWiFiIPAddress((ip) => { console.log("network ip address = " + ip);});
但是,从移动设备运行时,这会导致运行时出错:
ERROR Error: Uncaught (in promise): ReferenceError: NetworkInterface
is not defined
我还尝试在全局声明一个变量,然后尝试在组件中应用字符串值,只是为了得到同样的问题.这个变量在全球范围内不起作用似乎更有问题吗?任何帮助都会很棒!
解决方法 您需要使用以下Cli:ionic plugin add cordova-plugin-networkinterface --save
您需要将其声明为global.And您还需要在设备或模拟器上测试它,因为这是一个插件.
declare var NetworkInterface: any;
旧答案:
您可以使用本机Network插件轻松完成.
ionic cordova plugin add cordova-plugin-network-informationnpm install --save @ionic-native/network
来自doc:
import { Network } from '@ionic-native/network';constructor(private network: Network) { }...// watch network for a connectionlet connectSubscription = this.network.onConnect().subscribe(() => { console.log('network connected!'); // We just got a connection but we need to wait brIEfly // before we determine the connection type. Might need to wait. // prior to doing any API requests as well. setTimeout(() => { if (this.network.type === 'wifi') { console.log('we got a wifi connection,woohoo!'); } },3000);});总结
以上是内存溢出为你收集整理的角度 – 离子3 – 如何使用cordova插件网络接口与离子?全部内容,希望文章能够帮你解决角度 – 离子3 – 如何使用cordova插件网络接口与离子?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)