为通过Web插座进行通信的协议

问题描述 投票:0回答:2

使用休息

使用Web插座

个人,我不介意采用哪种方法,只要由此产生的API经过深思熟虑,可以理解和扩展。
    在基于C ++的应用程序之前,从使用TCP插座的经验,我知道滚动您所拥有的语法/协议可能会迅速变得不一致,混乱且难以管理。
  • 使用Web插座有任何通用样式或协议,例如REST或SOAP,用于客户服务器通信?设计自己的客户服务器通信方案/协议是否有任何准则或最佳实践?
你看着

沃姆?

从上面的页面:

Websocket协议已经内置在现代浏览器中,并提供了双向,低延迟消息的通信。但是,因此,Websocket是相当低的级别,仅提供原始消息传递。

现代Web应用程序通常需要更高级别的消息传递模式,例如发布和订阅和远程过程呼叫。
sockets web-applications websocket protocols rpc
2个回答
12
投票
技术,WAMP是一种正式注册的Websocket子协议(在WebSocket上运行),它使用JSON作为消息序列化格式。

wamp包含开放的Web标准,旨在易于使用且易于实现。

没有任何预期的,杰西,我将在进行一些研究后回答自己的问题。

我没有遇到任何等同的休息。当前的趋势似乎是使用

json

发送和接收对象。在以JavaScript为导向的世界中,这似乎是明智的,并且允许消息立即更新收据。

例如:

https://developer.mozilla.org/en-us/docs/websockets/writing_websocket_client_applications

Http://blog.new-bamboo.co.uk/2010/2/10/json-event基于基础访问convention-websockets

3
投票

I沿着这些行写了我自己的协议。但是,我遇到的最完全定义的协议是

JSON-RPC。关于该协议的另一个加号是,如果您在混合群和HTTP应用程序中编写,则可以通过HTTP和Websockets使用相同的消息传递系统。 我遇到的另一个方法是“端口”将消息协议退出Websockets(不管它们是否使用JSON)。因此,例如,可以简单地重新实现XML-RPC

(JSON-RPC所基于的),以便在插座上使用。确实,

soap

也可以在插座上重新完成。
    我遇到了一个不错的小协议,尽管以上链接之一是
  • stomp。这也可以移植 - indeed。
  • 我喜欢Java,我喜欢Cometd(www.cometd.org)作为消息传递机制,它位于HTTP,Websocket甚至SPDY等协议之上,或者其他任何新协议都来自派克。 类似内容的吸引力是您将代码为该API,并且无缝地对给定的客户端/服务器组合进行了最佳的基础协议。 如果您在旧的IE上,那么它将返回正常的HTTP,但是如果它是新的IE,则可能会选择WebSockets。 如果您在Chrome或Firefox上,那么您将获得SPDY,而当基于SPDY的HTTP/2.0土地时,您将可以更新Cometd并免费获得。 同样,在Websocket之上的更高级协议中,您可以在诸如隧道和失去连接之类的情况下获得诸如消息恢复之类的东西。 适用于聊天应用程序或您想通过有序消息维护状态的应用程序。我喜欢这些功能的Bayeux协议(这是Cometd的实施)。 因此,就我个人而言,我并没有真正将Rest和Websocket视为竞争或对立,它们是不同的生物。 REST是HTTP样式无状态环境的一种解决方案,并与URL的惯例进行了玩具,而Websocket是HTTP的替代协议。 休息后,您不太可能会关注加热TCP连接,从而获得更好的吞吐量,但是在诸如WebSocket或SPDY(例如Websocket或SPDY)的潜在寿命更长的连接中,这些事物变得越来越普遍。 虽然带有管道的http/1.1是一种选择,因为它默认支持了,直到移动浏览器真正开始使用它,因此它尚未掌握其潜力。
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.