为什么Web套接字不使用SOAP?

前端之家收集整理的这篇文章主要介绍了为什么Web套接字不使用SOAP?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,我打算没有敌意也不打算,只想知道别人的想法.我正在研究客户端和服务器之间的双向通信;客户端是一个Web应用程序.在这一点上,我有几个选择:MS专有的双工绑定,从我听到的不可靠和不自然:彗星和网络套接字(对于支持的浏览器).

我知道这个问题已经在其他方面被问到了,但我对这个方法有一个更具体的问题.考虑到Web套接字是客户端的,客户端代码位于JavaScript中.是否真的有意在JavaScript中直接构建大块应用程序?为什么W3C在Web服务中没有这样做?如果我们能够使用SOAP提供合同并定义事件以及涉及的现有消息传递,那会不会更容易?到目前为止,感觉就像棒子的短端.

为什么不简单地利用JS动态特性并将大量代码留在它所属的位置….在服务器上?

代替

mysocket.send("AFunction|withparameters|segmented");

我们可以说

myServerObject.AFunction("that","makessense");

而不是

...
mysocket.onmessage = function() { alert("yay! an ambiguous message"); }
...

我们可以说

...
myServerObject.MeaningfulEvent = function(realData) { alert("Since I have realistic data....");  alert("Hello " + realData.FullName); }
...

HTML 5永远占据了……我们是否在错误的方向上浪费了大量的精力?思考?

解决方法

听起来像你还没有完全掌握Websockets的概念.例如你说:

Considering web sockets are client-side

事实并非如此,套接字有两面,您可以将它们视为服务器和客户端,但是一旦建立连接,区别就会模糊 – 您可以将客户端和服务器视为“对等” – 每个可以随时写入或读入连接它们的管道(套接字连接).我怀疑你会从在TCP上学习更多关于HTTP的工作中受益 – WebSockets就像这样与HTTP类似/类似.

关于SOAP / WSDL,从围绕TCP / WebSocket / HTTP的对话的角度来看,您可以将所有SOAP / WSDL对话视为与HTTP相同(即正常的网页流量).

最后,请记住网络编程的堆叠特性,例如SOAP / WSDL如下所示:

SOAP/WSDL
--------- (sits atop)
HTTP
--------- (sits atop)
TCP

WebSockets看起来像这样

WebSocket
--------- (sits atop)
TCP

HTH.

猜你在找的HTML相关文章