मैं websocket आने वाले संदेशों को प्राप्त करने के लिए कोणीय 2 का उपयोग करने जा रहा हूं और उन प्राप्त संदेशों के आधार पर एक वेबपृष्ठ अपडेट कर रहा हूं। अभी, मैं एक डमी इको वेबस्केट सेवा का उपयोग कर रहा हूं और इसे बदल दूंगा।कोणीय 2/वेबसाइट: आने वाले वेबसाइकिल संदेशों के लिए एक अवलोकन योग्य कैसे करें
मेरी समझ से, वेबसाइकिल संदेशों को प्राप्त करने वाले फ़ंक्शन को एक ऐसे पर्यवेक्षक को वापस करना होगा जो एक हैंडलर द्वारा सब्सक्राइब किया गया हो जो वेबपृष्ठ अपडेट करेगा। लेकिन मैं यह नहीं समझ सकता कि एक अवलोकन योग्य कैसे लौटाया जाए।
कोड स्निपेट नीचे संलग्न है। MonitorService
एक वेबसाइकिल कनेक्शन बनाता है और प्राप्त संदेशों वाले एक अवलोकन योग्य लौटाता है।
@Injectable()
export class MonitorService {
private actionUrl: string;
private headers: Headers;
private websocket: any;
private receivedMsg: any;
constructor(private http: Http, private configuration: AppConfiguration) {
this.actionUrl = configuration.BaseUrl + 'monitor/';
this.headers = new Headers();
this.headers.append('Content-Type', 'application/json');
this.headers.append('Accept', 'application/json');
}
public GetInstanceStatus =(): Observable<Response> => {
this.websocket = new WebSocket("ws://echo.websocket.org/"); //dummy echo websocket service
this.websocket.onopen = (evt) => {
this.websocket.send("Hello World");
};
this.websocket.onmessage = (evt) => {
this.receivedMsg = evt;
};
return new Observable(this.receivedMsg).share();
}
}
नीचे एक और घटक है जो नमूदार ऊपर और अद्यतन से लौटे का सदस्य बनता तदनुसार वेबपेजों है।
export class InstanceListComponent {
private instanceStatus: boolean
private instanceName: string
private instanceIcon: string
constructor(private monitor: MonitorService) {
this.monitor.GetInstanceStatus().subscribe((result) => {
this.setInstanceProperties(result);
});
}
setInstanceProperties(res:any) {
this.instanceName = res.Instance.toUpperCase();
this.instanceStatus = res.Status;
if (res.Status == true)
{
this.instanceIcon = "images/icon/healthy.svg#Layer_1";
} else {
this.instanceIcon = "images/icon/cancel.svg#cancel";
}
}
}
अब, मैं ब्राउज़र कंसोल TypeError: this._subscribe is not a function
धन्यवाद! और, यह पता चला है कि इस तरह के अवलोकन करने योग्य लौटने से 'रिटर्न ऑब्जर्जेबल.फॉमवेन्ट (वेबसाकेट,' संदेश ') भी काम करता है;' क्या आपके मतभेदों के बारे में कोई विचार है? –
@ बिंगलू वे लगभग समान हैं। 'सेवेंथ' रास्ता घटना के लिए सिर्फ एक रैपर है, जो मैंने अपने जवाब में किया था। मुझे संदेह है कि कोई अंतर है। लेकिन, यह मेरे जवाब से बेहतर तरीका है: डी। मैं इसे शामिल करने के लिए अपना उत्तर अपडेट कर दूंगा। धन्यवाद – Abdulrahman
@Abdulrahman मुझे पता है कि यह बहुत समय पहले था, लेकिन मुझे आश्चर्य है कि क्या आप प्लंबर को 'सेवेंथ' का उपयोग करने के लिए अपडेट कर सकते हैं। बीटीडब्ल्यू, डेटा स्ट्रीमिंग के लिए 'WebSocketSubject' का उपयोग नहीं किया जाना चाहिए? (मैं बस सोच रहा हूं, मैं websockets के लिए नया हूँ)। – brians69