Javascript 通过web套接字公开套接字

Javascript 通过web套接字公开套接字,javascript,html,websocket,Javascript,Html,Websocket,我有一个在端口8181上创建套接字的服务器。我想从Google Chrome 14中打开的网页访问该套接字。我想这是不可能的。Chrome支持Web套接字,但不支持标准套接字。是这样吗 是否有可能以某种方式创建一个中介,将侦听端口8181的套接字服务器公开为在其他端口上运行的web套接字服务器?是TCP套接字代理/网桥的通用WebSocket。我最初创建websockify是为了允许(HTML5 VNC客户端)能够连接到未修补的VNC服务器。但是它通常是有用的(不是特定于VNC的),所以我把它作

我有一个在端口8181上创建套接字的服务器。我想从Google Chrome 14中打开的网页访问该套接字。我想这是不可能的。Chrome支持Web套接字,但不支持标准套接字。是这样吗

是否有可能以某种方式创建一个中介,将侦听端口8181的套接字服务器公开为在其他端口上运行的web套接字服务器?

是TCP套接字代理/网桥的通用WebSocket。我最初创建websockify是为了允许(HTML5 VNC客户端)能够连接到未修补的VNC服务器。但是它通常是有用的(不是特定于VNC的),所以我把它作为一个单独的项目进行了拆分

在UNIX/Linux系统上,您可以像这样运行websockify:

./websockify 8080 my_server:8181
上面示例中的端口8080是侦听WebSocket连接的端口。my_server是您的系统的名称/IP,其中有一台服务器正在侦听端口8181。如果您在与服务器相同的系统上运行websockify,则可以使用
localhost
代替“my_server”

websockify项目还附带一个名为websock.js的Javascript包装库。websockify支持新的协议版本(由Chrome 14+和Firefox 6+使用),但也适用于旧版本。但是,对于较旧版本的协议,无法发送原始二进制数据(仅限UTF-8),因此websock.js和websockify协同工作以对数据进行base64编码/解码(在浏览器和websockify之间)当使用较旧的协议时,您仍然可以向目标发送原始二进制数据。

是一种通用的WebSocket到TCP套接字代理/网桥。我最初创建websockify是为了允许(HTML5 VNC客户端)能够连接到未修补的VNC服务器。但是它通常是有用的(不是特定于VNC的),所以我把它作为一个单独的项目进行了拆分

在UNIX/Linux系统上,您可以像这样运行websockify:

./websockify 8080 my_server:8181
上面示例中的端口8080是侦听WebSocket连接的端口。my_server是您的系统的名称/IP,其中有一台服务器正在侦听端口8181。如果您在与服务器相同的系统上运行websockify,则可以使用
localhost
代替“my_server”


websockify项目还附带一个名为websock.js的Javascript包装库。websockify支持新的协议版本(由Chrome 14+和Firefox 6+使用),但也适用于旧版本。但是,对于较旧版本的协议,无法发送原始二进制数据(仅限UTF-8),因此websock.js和websockify在使用较旧协议时一起对数据进行base64编码/解码(在浏览器和websockify之间),以便您仍然可以向目标发送原始二进制数据或从目标发送原始二进制数据。

,您可以同时创建服务器和客户端。您可以创建一个应用程序,该应用程序既包括端口8182上的WebSockets服务器,也包括连接到端口8181的客户端。您只需将所有传入数据(解码WebSockets格式后)路由到8181,然后将从8181接收的所有数据转换为WebSockets格式并传递到客户端(Chrome)。我想了解更多详细信息。您正在构建自己的服务器吗?使用像Tomcat或Apache这样的服务器?GlassFish应用服务器包括grizzly,它是一个websocket服务器。我现在正在调查。坏消息是(不应该永远持续下去)我还没有找到任何工作示例。@mgamer,您的问题得到了充分的回答吗?在Node.js中,您可以同时创建服务器和客户机。您可以创建一个应用程序,该应用程序既包括端口8182上的WebSockets服务器,也包括连接到端口8181的客户端。您只需将所有传入数据(解码WebSockets格式后)路由到8181,然后将从8181接收的所有数据转换为WebSockets格式并传递到客户端(Chrome)。我想了解更多详细信息。您正在构建自己的服务器吗?使用像Tomcat或Apache这样的服务器?GlassFish应用服务器包括grizzly,它是一个websocket服务器。我现在正在调查。坏消息是(不会永远持续下去)我还没有找到任何有效的例子。@mgamer,你的问题得到了充分的回答吗?但根据网站链接上的文档,它对Chrome 14不起作用。@RogerF.Gay,不确定你指的是什么网站信息,但websockify对Chrome 14的效果很好。WebSockify同时适用于Hixie版本和所有HyBi版本的协议(也就是说,它适用于所有支持WebSocket的浏览器)。顺便说一句,我已经更新了WebSockify自述,使其在协议和二进制数据支持方面更加清晰。但是根据网站链接上的文档,它不适用于Chrome 14。@RogerF.Gay,不确定你指的是什么网站信息,但websockify在Chrome14上运行良好。WebSockify同时适用于Hixie版本和协议的所有HyBi版本(也就是说,它适用于所有支持WebSockets的浏览器)。顺便说一句,我已经更新了WebSockify自述文件,使其更清楚地支持协议和二进制数据。