gpt4 book ai didi

javascript - 如何屏蔽网络套接字?

转载 作者:行者123 更新时间:2023-11-29 23:45:34 25 4
gpt4 key购买 nike

我正在尝试用 JavaScript 编写一个客户端,将 websocket 发送到 node.js/ws 服务器。经过大量阅读后,我了解到 RFC 有用甚至要求屏蔽从客户端发送到服务器的所有数据,但我不知道该怎么做。

我找到了几篇这样的文章:

http://www.htmlgoodies.com/html5/tutorials/making-html5-websockets-work.html

但我找不到任何起点,甚至找不到屏蔽数据的函数。而且我真的不太了解屏蔽的概念。图书馆/功能会有所帮助。我在这个问题上苦苦挣扎了一段时间,什么都没有......如果我屏蔽发送的数据,我需要在服务器端“取消屏蔽”吗?你有什么想法吗?

最佳答案

如果您尝试建立从浏览器 Javascript 到服务器的 webSocket 连接,然后通过该 webSocket 连接发送数据,您只需使用浏览器内置的 webSocket 支持。您只需调用 socket.send(),底层的 webSocket 支持将为您完成所有 webSocket 协议(protocol)信息(包括屏蔽)。

如果您尝试建立从 node.js 到其他服务器的 webSocket 连接,那么您最好只获取 NPM 上 node.js 的众多 webSocket 库之一并使用其中之一。然后,这些库将为您处理所有 webSocket 协议(protocol)信息(包括屏蔽)。

如果您尝试在自己的 nodejs 服务器上接受传入的 webSocket 连接,那么您将类似地使用 node.js 的几个 webSocket 服务器库之一,该库将为您处理所有屏蔽。

您只能将一个webSocket 客户端连接到一个webSocket 服务器,因为两端必须使用webSocket 连接方案,然后支持webSocket 协议(protocol)、数据帧和安全方案。除非您出于学术原因这样做,或者尝试在没有通用支持的平台上实现 webSockets,否则很少会实现您自己的 webSocket 库。协议(protocol)中存在变化(由于规范的演变,要正确支持和测试完整实现所能做的一切,需要做大量工作)。

so i understand that i still need to mask data if I send websockets from a non-ssl website to a ssl server, right?

你似乎有点困惑。两个端点之间的连接是否为 SSL。您不能让连接的一端使用 SSL 而另一端不使用 SSL。 webSocket 连接(两端)可以正常运行或使用 SSL。 webSocket 规范要求客户端屏蔽所有数据,但这将由您使用的任何 webSocket 客户端库自动完成。作为使用 webSocket 库的客户端,这不是您应该关心的事情。

非 SSL 网页(通过不使用 SSL 的常规 http 加载的页面)可以与某些也支持 SSL 的 webSocket 服务器建立 SSL webSocket 连接。

关于javascript - 如何屏蔽网络套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44294533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com