我正在使用大型复杂服务器端组件的项目的客户端工作.客户端将作为移动应用程序部署在其他上下文中.
对于客户端 – 服务器通信,有两种相反的观点:
>使用REST
>使用网络套接字
就个人而言,我不介意采用哪种方法,只要最终的API经过深思熟虑,可理解和可扩展.
从以前在基于C的复杂应用程序上使用TCP套接字的经验来看,我知道自己动手的语法/协议很快就会变得不一致,容易混淆和难以管理.
是否有任何通用样式或协议,如REST或SOAP,用于使用Web套接字的客户端 – 服务器通信?在设计自己的客户端 – 服务器通信方案/协议时是否有任何指导方针或最佳实践?
解决方法
你看过
WAMP吗?
从上面的页面:
WebSocket协议已内置于现代浏览器中,并提供双向,低延迟的基于消息的通信.但是,因此,WebSocket它的级别很低,只提供原始消息传递.
现代Web应用程序通常需要更高级别的消息传递模式,例如Publish&订阅和远程过程调用.
这是WebSocket应用程序消息传递协议(WAMP)进入的地方. WAMP在一个协议中将RPC和PubSub的更高级别的消息传递模式添加到WebSocket.
从技术上讲,WAMP是一个正式注册的WebSocket子协议(运行在WebSocket之上),它使用JSON作为消息序列化格式.
WAMP采用开放的Web标准,其设计易于使用且易于实施.