我知道这个问题已经在其他方面被问到了,但我对这个方法有一个更具体的问题.考虑到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永远占据了……我们是否在错误的方向上浪费了大量的精力?思考?
解决方法
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 举报,一经查实,本站将立刻删除。