0
外部のJavaScript Webソケットライブラリを使用してデバイスを接続して制御しようとしています。現在私は、私の角度のサービスからこれを行うことができます。私はコンポーネントに接続オブジェクトを渡すことができません。サービスクライアントオブジェクトがあるときにどのように私は、コンポーネントにアップデートを入手することができますupdated.Canいずれか私を助けてくださいサービスからのWebソケットオブジェクトをコンポーネントに同期する方法 - 角2
コンポーネント・コードの下
doConnect(data){
this.submitted = true;
this.ipaddress = data.ipaddress;
this.portnumber = data.portnumber;
this.data = JSON.stringify(data);
console.log(this.data);
if(this.ipaddress===null && this.portnumber===null){
console.log('Null');
}else{
localStorage.setItem("ipaddress", this.ipaddress);
localStorage.setItem("portnumber", this.portnumber);
//calling the get connect from component
this.connectService.getConnect(this.ipaddress,this.portnumber);
if(localStorage.getItem("clientStatus")=='connected'){
this._router.navigate(['Master']);
}else{
this._router.navigate(['Home']);
}
}
}
は私connectServiceコードは、私が解決策を見つけた
getConnect(ipaddress,portnumber){
console.log('coming');
var t = ipaddress;
var p = portnumber;
console.log(t,p);
client = new linear.client({transports: [
{type: 'websocket',
host: t, port: p}
]});
client.connect();
this.getStatusFromMcx();
var osbervable = Rx.Observable.create (function (obs) {
// Handle messages
client.transport.onopen = obs.onOpen.bind(obs);
client.onnotify = obs.onNext.bind(obs);
client.onerror = obs.onError.bind(obs);
client.transport.onclose = obs.onCompleted.bind(obs);
// Return way to unsubscribe
return client.ondisconnect.bind(client);
});