Oli*_*ran 9 sockets rpc web-applications protocols websocket
我正在使用大型复杂服务器端组件的项目的客户端工作.客户端将作为移动应用程序部署在其他上下文中.
对于客户端 - 服务器通信,有两种相反的观点:
就个人而言,我不介意采用哪种方法,只要得到的API经过深思熟虑,可理解和可扩展.
根据以前在基于C++的复杂应用程序上使用TCP套接字的经验,我知道自己的语法/协议很快就会变得不一致,容易混淆和难以管理.
是否有任何通用样式或协议,如REST或SOAP,用于使用Web套接字的客户端 - 服务器通信?有关设计自己的客户端 - 服务器通信方案/协议的指南或最佳实践吗?
你看过WAMP了吗?
从上面的页面:
WebSocket协议已内置于现代浏览器中,并提供双向,低延迟的基于消息的通信.但是,因此,WebSocket它的级别很低,只提供原始消息传递.
现代Web应用程序通常需要更高级别的消息传递模式,例如发布和订阅以及远程过程调用.
这是WebSocket应用程序消息传递协议(WAMP)进入的地方.WAMP在一个协议中将RPC和PubSub的更高级别的消息传递模式添加到WebSocket.
从技术上讲,WAMP是一个正式注册的WebSocket子协议(运行在WebSocket之上),它使用JSON作为消息序列化格式.
WAMP采用开放的Web标准,其设计易于使用且易于实施.
杰西,没有任何故意的轻视,我将在经过一番研究后回答我自己的问题。
我没有遇到任何与 REST 相当的东西。当前的趋势似乎是使用JSON来发送和接收对象。这在面向 JavaScript 的世界中似乎是明智的,并且允许消息在收到时立即更新数据。
例如:
我尝试按照这些思路编写自己的协议。然而,我遇到的最完整定义的协议是JSON-RPC。该协议的另一个优点是,如果您在混合套接字和 HTTP 应用程序中编写,则可以通过 HTTP 和 WebSocket 使用相同的消息系统。
我遇到的另一种方法是将现有消息传递协议“移植”到 WebSocket(无论它们是否使用 JSON)。因此,例如,XML-RPC(JSON-RPC 所基于的)可以相当简单地重新实现以通过套接字使用。事实上,SOAP也可以通过套接字重新实现。
我遇到了一个不错的小型协议,尽管上面的链接之一是STOMP。这也可以被移植——而且确实如此。
| 归档时间: |
|
| 查看次数: |
4824 次 |
| 最近记录: |