繁体   English   中英

将node.js服务器端代码移植到HTML5 WebSockets

[英]Porting node.js server-side code to HTML5 WebSockets

注意:这不是关于同时使用node.js和HTML5套接字。 我也不想讨论我所描述的设置的优点。

node.js在服务器上运行,并且由于它支持通过套接字作为客户端进行连接,因此它可以充当HTML5 / JS客户端和使用TCP / IP的服务器(例如数据库服务器)之间的中间层。所以, node.js和WebSockets都包含打开到服务器的套接字连接的方法。

我的问题是,是否有人成功将node.js脚本移植到WebSockets,即将node.js切换出等式,以便您的Web浏览器直接连接到数据库? 我想它会是这样的:

  1. 切断与HTTP有关的一切
  2. 移植使用所有node.js特定函数来使用WebSockets API

如果这已经完成,是不是很麻烦,或者node.js和WebSockets API是否相对类似?

你的问题有点难以解析,但我会采取刺。

如果您有兴趣从WebSockets客户端(浏览器)连接到任意TCP套接字服务器,那么您可能会对wsproxy感兴趣,它是TCP套接字代理的通用WebSockets。 wsproxy包含在noVNC (HTML5 VNC客户端)中,并且在C,python和Node(node.js)中有三个参考实现。

如果您有兴趣将WebSockets支持添加到特定的给定服务器(即数据库服务器),那么您可能会发现libvncserver的这个分支 它支持说WebSockets的客户端(即noVNC),因此不需要代理。

基本的wsproxy代理功能非常直接实现。 最棘手的部分是当前正在使用的WebSockets草案(v76)没有指定二进制传输有效负载(仅UTF-8),因此wsproxy base64对来自WebSockets客户端的所有流量进行编码/解码。 libvncserver中WebSockets连接的实现有点棘手,因为libvncserver有一些关于需要解决的缓冲/框架的非常硬编码的想法。

免责声明:我负责novNC,wsproxy和libvncserver的WebSockets补丁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM