我正在创建一个新的Angular 2/4应用程序。在主页上,我需要显示我从服务器收到的任何紧急/紧急消息。我想知道在这种情况下什么是最好的选择。我查看了一些库但没有用。在这种情况下会发出信号吗?或谷歌材料?
答案 0 :(得分:1)
我和@fastAsTortoise有同样的想法。单向通知通道(服务器到客户端)符合Server-Sent-Events的确切用途。我不会为此引入新的第三方库依赖项,因为它是一项简单的任务。
查看后端语言中的示例。客户端非常简单。在根组件的ngOnInit
方法中,您可以打开频道并订阅其消息
eventChannel = new EventSource('YOUR_SERVER_URL_HERE');
ngOnInit(){
Observable.fromEvent(this.eventChannel, 'open').subscribe(
() => console.log('channel is open')
);
Observable.fromEvent(this.eventChannel, 'message').subscribe(
e => console.log('message received', e.data)
);
}
答案 1 :(得分:1)
SignalR可以在这里工作。 这就是我的计划:
这也可以是跨域,或者如果它们在同一个域上,它将开箱即用。我在一个使用phonegap的移动应用程序上尝试了这个,它运行得很好,当服务器向用户或组发送事件时,android和iphone都能够执行操作。
答案 2 :(得分:0)
这取决于您当前使用的服务器端语言,
如果您想编写自己的聊天框架,可以开始使用 socket.io
如果你想用.net写,你可以使用 signalR
与dot net core
Google material 是一个完全不同于您所寻求的设计框架。您还可以查看一些可以快速实施的第三方库,例如 pusher