error message off… u bet, very confusing
my startup page component
<template>
<!--
Generated template for the StartupPage page.
See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header >
<ion-title style="text-align:center;"> Mirror Discovery</ion-title>
</ion-header>
<ion-content padding>
<div style="text-align:center;">Mirror Discovery in progress, please wait...</div>
</ion-content>
</template>
<script>
import { IonContent, IonHeader, IonTitle,
} from "@ionic/vue";
import NetworkService from "../services/networkservice.js";
export default {
name: "Startup",
components: {
IonContent,
IonHeader,
IonTitle,
},
//its: ["changepage"],
methods: {},
created(){
console.log("calling network service find")
NetworkService.findserverAddress(window, "192.168.2.106", (address)=> {
console.log("server at "+address)
})
},
props: {
isInOutlet: {
type: Boolean,
default: function() {
return false;
}
}
,
registerIonPage : {
type: Function,
default: function() {
return ()=>{console.log("")};
}
}
}
};
</script>
which calls the library to locate the server
this is services/networkservice.js
import Vue from 'vue';
import {
modalController,
} from "@ionic/vue";
import {
Plugins
} from '@capacitor/core';
export default {
ReceiverPort: 8100,
BROADCAST_ADDR: "192.168.2.255",
MirrorRequest: "DISCOVER_MIRRORSERVER_REQUEST:",
expectedResponse: "DISCOVER_MIRRORSERVER_RESPONSE:",
amountReceived: 0,
counter: 0,
serverAddress: "",
timeoutHandle: 0,
discoveryTimeout: 5000,
UdpPlugin: 0,
async findserverAddress(window, ip) {
return new Promise((resolve, reject) => {
try {
const p = {
persistent: false
};
window.chrome.sockets.tcpServer.create(p,
function (createInfo) {
console.log("socket created");
try {
window.chrome.sockets.tcpServer.listen(createInfo.socketId, ip, 0, 1,
function (result) {
console.log("get socket info=" + JSON.stringify(result));
window.chrome.sockets.tcpServer.getInfo(this.socketId,
function (info) {
console.log("socket info =" + JSON.stringify(info));
//this.port=info.localPort
console.log("using port=" + info.localPort);
const ha = this.handleAccept;
console.log(" handleaccept function =" + ha);
window.chrome.sockets.tcpServer.onAccept.addListener(ha);
window.chrome.sockets.tcp.onReceive.addListener((data, socketId1) => {
this.recvListener(data, socketId1, resolve, reject)
});
window.chrome.sockets.tcp.onReceiveError.addListener(
function (info) {
console.log("socket error=" + JSON.stringify(info));
}
);
//console.log("sockets="+JSON.stringify(.chrome.sockets));
this.timeoutHandle = setTimeout(
function () {
// if we timed out,return null so caller can address the issue
reject("timeout");
},
this.discoveryTimeout
);
for (let q = 0; q < 3; q++)
this.sendTo(this.MirrorRequest + info.localPort, this.ReceiverPort, this.BROADCAST_ADDR);
}
)
}.bind({
socketId: createInfo.socketId
})
)
} catch (ex) {
console.log("listen failed=" + ex);
}
}
)
console.log("after create");
} catch (ex) {
console.log("sockets failure=" + ex);
}
})
},
sendTo(){console.log("")},
handleAccept(){console.log("")},
}