根据Microsoft的tutorial,我在集线器中发送了一条消息。
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
我阅读了第三方聊天服务提供商的documentation,他们的API使用http post端点发送消息。
POST /rooms/:room_id/messages
这是另一个提供者的documentation,也是http发布端点。
[POST] /post_comment
我不明白他们为什么这么做,我想知道它的优点和缺点。
我的问题是:
使用http终结点更好吗?
答案 0 :(得分:0)
SignalR是纯代码,但第三方提供程序是具有SignalR功能的完整API端点。恕我直言,它们具有正常的API,但在实现中正在将Websocket与SignalR一起用于实时消息传递。
它们分为两个部分。首先是服务器端API,其次是客户端。 Server API允许您对更改数据执行任何操作(例如,创建房间..),并且Client负责侦听更改和更新UI。
他们已连接到用于创建隐藏在其SDK中的Websocket的集线器。 只需看QUISCUS Webhooks或EventHandlers。 您可以编写自己的API,也可以使用SignalR。
如果您分开进行维护(服务器POST端点,客户端通过websocket监听更改),则维护简单。