I am using the native Zeroconf plugin like shown in the docs:
I am just getting the hostname, the IP-Address is always empty.
Has anyone had similar issues und can help me?
my code (ngOnInt -> this.platform.ready().then(() => {CALLED HERE}:
this.zeroconf.watch('_http._tcp.', 'local.').subscribe(result => {
if(result.service.ipv4Addresses[0] != null)
{
console.log("IP-Adress found: "+result.service.ipv4Addresses[0]);
}
if (result.action == 'added' || result.action == 'registered') {
console.log('service added', result.service);
var hostname = result.service.hostname; // --> found the correct hostname
var ipAddress = result.service.ipv4Addresses[0]; // --> is empty
} else {
console.log('service removed', result.service);
}
});
my package.json:
{
"name": "xyz",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
"config": {
"ionic_copy": "./config/copy.config.js"
},
"dependencies": {
"@angular/common": "2.3.0",
"@angular/compiler": "2.3.0",
"@angular/compiler-cli": "2.3.0",
"@angular/core": "2.3.0",
"@angular/forms": "2.3.0",
"@angular/http": "2.3.0",
"@angular/platform-browser": "2.3.0",
"@angular/platform-browser-dynamic": "2.3.0",
"@angular/platform-server": "2.3.0",
"@ionic-native/core": "^3.5.0",
"@ionic-native/file": "^4.20.0",
"@ionic-native/zeroconf": "^3.10.3",
"@ionic/lab": "^1.0.1",
"@ionic/storage": "2.0.0",
"cordova": "^8.0.0",
"cordova-android": "6.2.3",
"cordova-plugin-add-swift-support": "^2.0.2",
"cordova-plugin-compat": "1.2.0",
"cordova-plugin-console": "^1.1.0",
"cordova-plugin-device": "^1.1.7",
"cordova-plugin-file": "4.3.3",
"cordova-plugin-splashscreen": "^4.1.0",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-whitelist": "^1.3.4",
"cordova-plugin-zeroconf": "^1.4.1",
"cordova-sqlite-storage": "^2.6.0",
"cors": "^2.8.4",
"crypto-js": "^3.1.9-1",
"font-awesome": "^4.7.0",
"ionic-angular": "2.0.0",
"ionic-native": "2.4.1",
"ionic-plugin-keyboard": "^2.2.1",
"ionicons": "3.0.0",
"jquery": "^3.2.0",
"multicast-dns": "^7.2.0",
"ng2-charts": "^1.5.0",
"rxjs": "5.0.1",
"sw-toolbox": "3.4.0",
"zone.js": "0.6.26"
},
"devDependencies": {
"@ionic/app-scripts": "^3.1.11",
"typescript": "2.4.0"
},
"cordovaPlugins": [
"cordova-plugin-whitelist",
"cordova-plugin-console",
"cordova-plugin-statusbar",
"cordova-plugin-device",
"cordova-plugin-splashscreen",
"cordova-plugin-zeroconf",
"ionic-plugin-keyboard"
],
"cordovaPlatforms": [],
"description": "VoltoPlusApp: An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-console": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-whitelist": {},
"cordova-sqlite-storage": {},
"ionic-plugin-keyboard": {},
"cordova-plugin-zeroconf": {},
"cordova-plugin-file": {}
},
"platforms": [
"android"
]
}
}
my app.module.ts:
import {NgModule, ErrorHandler} from '@angular/core';
import {IonicApp, IonicModule, IonicErrorHandler} from 'ionic-angular';
import {VoltoPlusApp} from './app.component';
import {ConfigurationPage} from '../pages/configuration/configuration';
import {OverviewPage} from '../pages/overview/overview';
import {TabsPage} from '../pages/tabs/tabs';
import {AccountPage} from '../pages/account/account';
import {OutputPage} from '../pages/output/output';
import {LoginPage} from '../pages/login/login';
import {IonicStorageModule} from '@ionic/storage';
import {ChartsModule} from 'ng2-charts';
import 'chart.js';
import {MainService} from "./mainService";
import {Zeroconf} from '@ionic-native/zeroconf';
import {File} from '@ionic-native/file'
import {DatePipe} from '@angular/common';
@NgModule({
declarations: [
VoltoPlusApp,
ConfigurationPage,
OverviewPage,
TabsPage,
AccountPage,
OutputPage,
LoginPage
],
imports: [
IonicModule.forRoot(VoltoPlusApp, {
backButtonText: ''
}, {}
), ChartsModule,
IonicStorageModule.forRoot()],
bootstrap: [IonicApp],
entryComponents: [
VoltoPlusApp,
ConfigurationPage,
OverviewPage,
TabsPage,
AccountPage,
OutputPage,
LoginPage
],
providers: [{provide: ErrorHandler, useClass: IonicErrorHandler},
DatePipe,
MainService,
Zeroconf,
File,
mdns]
})
export class AppModule {
}