我有一个服务器,它在端口8181上创建一个套接字。我想从Google Chrome 14打开的网页访问这个套接字,我想这是不可能的。Chrome提供了对Web套接字的支持,但不支持标准套接字。是那么回事吗?
有没有可能以某种方式创建一个中介,将侦听端口8181的套接字服务器暴露为在其他端口上运行的web套接字服务器?
发布于 2011-10-06 05:52:58
websockify是到TCP socket代理/网桥的通用WebSockets。我最初创建websockify是为了让noVNC ( VNC客户端)能够连接到未打补丁的HTML5服务器。但是它通常是有用的(不是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+和火狐6+使用),但它也适用于旧版本。然而,对于旧版本的协议,无法发送原始二进制数据(仅限UTF-8),因此当使用旧协议时,websock.js和websockify协同工作来base64编码/解码数据(在浏览器和websockify之间),以便您仍然可以向目标发送原始二进制数据或从目标发送原始二进制数据。
https://stackoverflow.com/questions/7662088
复制相似问题