设计基于Websocket的API的良好实践

时间:2010-11-20 18:26:03

标签: json api websocket

我们目前正在WebSocket中实施基于application的API。

到目前为止,我们提供REST API以及XMPP API,我们希望提供类似的功能,但我们不确定它的设计。

我们将使用JSON数据格式,但这几乎是我们唯一知道的。对此有什么好的做法吗?

例如,REST API具有使用HTTP谓词和URL资源来描述正在执行的操作的巨大优势。 Websocket没有这些。建立连接后,URL就变得无关紧要了。

有没有人知道现有的基于websocket的API?

3 个答案:

答案 0 :(得分:39)

是的,有:here

[编辑:已删除死社区维基链接]

答案 1 :(得分:6)

以下是一些基于websocket的API /协议:

Pusher

Slack Real Time Messaging

似乎大多数客户端JS面临的人正在使用某种与数据对象配对的事件/命令。此外,Slack还可以使用消息id,以便您可以关联请求和响应消息。

答案 2 :(得分:-2)

就我而言,我需要从服务器返回的批处理数据后就立即使用websocket。尚不支持HTTP2服务器推送,也不完全是目的。 AJAX很棒,但是从我发现的结果来看,根本没有办法针对一个请求获得多个响应。因此,如果您说一个产品页面,则可以为每个页面/批次执行刷新或重新发送AJAX请求的页面,或者实现事件,请求和javascript的相当复杂的机制。或者您只需使用 websockets ,对于一个请求/页面加载,当服务器检索到产品时,它们可以逐一或分批返回产品! 对我来说,套接字一直都比较好,但是无法打开端口,Websocket完全可以解决这个问题。否则,这就是与UDP / TCP,即时/差分等相同的问题。

我有一个特别简洁的书签this article。 :-)