微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么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.

原文地址:https://www.jb51.cc/html/227091.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐