websockify的appknox forn。

ak-websockif的Python项目详细描述


##websockify:websockets对任何应用程序/服务器的支持

[novnc]项目(https://github.com/kanaka/novnc)的一部分。


在最基本的级别上,websockify只是将websockets流量
转换为正常的套接字流量。websockify接受websockets握手,
解析它,然后开始在客户端和目标之间双向转发流量。

vnc<;/a>;

从群组开始!forum/novnc">;novnc/websockify
讨论组<;/a>;


可以通过[github
问题](https://github.com/kanaka/websockify/issues)提交错误和功能请求。

如果您想对websockify表示感谢,您可以为一个伟大的非盈利组织捐款,例如:[coMsHistor BR/International(http://wwwalistor.com),[sIL](http://wwwssior.org),
[人类生境](http://www-org.org),[电子前沿:BR/>基金会](http://www.ff.org/),[反对疟疾
基金会](http://www.反疟.com),[只不过
网吧](http://www.)hingbutnets.net/)等。如果需要,请发送tweet<;a
ref="http://www.twitter.com/novnc">;@novnc<;/a>;


\websockets二进制数据

websockif0.5.0开始,仅支持hybi/ietf
6455 websocket协议。

websockify协商是否base64通过subtocol报头(sec websocket协议)对进出
客户端的通信量进行编码。有效的
子目录值是"binary"和"base64",如果客户端同时发送
这两个值,那么服务器(python实现)将首选"binary"。
"binary"子目录指示将使用binary websocket帧原始发送数据。一些hybi客户端(如flash
回退和较旧的chrome和ios版本)不支持二进制数据
,这就是为什么需要协商的原因。



需要生成一个证书以供WebSockify加载。默认情况下,websockify
加载证书文件名"self.pem",但"--cert=cert"选项可以
覆盖文件名。您可以使用
openssl生成自签名证书。当询问公共名称时,请使用将运行代理的服务器的主机名:

```
openssl req-new-x509-days 365-nodes-out self.pem-keyout self.pem库提供一个websock
对象,该对象类似于标准websocket对象,但websock
允许通过websocketify与原始tcp套接字(即二进制流)进行通信。这是通过base64编码WebSock和WebSockify之间的数据流来实现的。


WebSock具有内置的接收队列缓冲;消息事件
不包含实际数据,而只是通知
有新数据可用。有几种rq*方法可用于从接收队列中读取二进制数据。



有关使用websock的示例,请参见下面的"包装程序"部分WebSockify作为浏览器Telnet客户端(`wstelnet.html`).




其他WebSockify功能

基本操作不需要这些功能。

*守护:当指定"-d"选项时,WebSockify作为守护进程在后台运行。(wss://websockets-uri):这是由
we自动检测的b通过嗅探从客户端发送的第一个字节进行锁存,如果数据以'\x16'或'\x80'
(表示SSL)开头,则
包装套接字。

*flash安全策略:websocify检测flash安全策略
请求(再次嗅探第一个包)并回答h an
适当的闪存安全策略响应(然后关闭
端口)。这意味着不需要单独的flash安全策略服务器来支持flash websockets回退仿真器。

*会话记录:此功能允许使用"-record`
选项将从客户端发送和接收的流量
记录到文件。

*mini-webserver:websockify可以在websockets代理和flash安全策略的同一端口上检测和响应正常的web
请求。此功能通过`-web dir`选项激活,dir是要服务的web目录的根目录。

*包装程序:请参阅下面的"包装程序"部分。




在"other/"子目录中有几个其他语言的替代实现(c,node.js,
clojure,ruby)(具有不同级别的
功能)。

有关
的详细信息,请参阅备用实现[功能
矩阵](https://github.com/kanaka/websockify/wiki/feature掼matrix)。




能够在本地系统上启动程序,并将代理WebSockets通信发送到程序拥有/绑定的正常TCP端口。

指定的
端口将移动到新的本地主机/无环回高速端口。websockify
然后将指向原始端口的websockets通信代理到程序的新(移动)端口。

"--wrap mode"选项可用于指示在包装的程序退出或守护时要执行的操作。


下面是一个使用websockify包装vncserver命令的示例
(哪些背景本身)用于
[novnc](https://github.com/kanaka/novnc):

`/运行5901--wrap mode=ignore--vncserver-geometry 1024x768:1`

这里是包装telnetd(来自krb5 telnetd)的示例。telnetd
在连接关闭后退出,因此包装模式设置为respawn
命令:

`sudo./run 2023--wrap mode=respawn--telnetd-debug 2023`

`wstelnet.html`页面演示了一个简单的基于websockets的telnet
客户端(使用'localhost'和'2023'作为主机和端口分别




在ubuntu上使用这个命令:

`sudo aptitude install python dev bluetooth dev`

*在WebSockify报告的顶层,下载、构建并符号链接SSL模块:

`wget--no check certificate http://pypi.python.org/packages/source/s/ssl/ssl-1.15.tar.gz`





`cd ssl-1.15 `












`cd ssl-1.15/sfssl-1.15/build/lib.linux-*/ssssl `

































>***注意**:0.6.0将中断exi子类WebSocketProxy的Sting代码stems当使用多处理时
*通过python"logging"模块添加更好的单元测试
*日志信息

<0.5.1-2013年6月27日
----


*使用上游einaros/ws(>;=0.4.27)和websocify.jsdler
*更新web socket js(c0855c6cae)的构建
*将include/web socket js项目子模块添加到gimite/web socket js
以符合dsfg要求。
*删除hixie协议支持

<0.4.1-2013年3月12日ocol支持
*添加include/directory并从源
分发中删除一些dev文件。


0.4.0-2013年3月12日
---------


****注意**:0.5.0将删除hixie协议支持
*在node.js实现中使用buffer base64支持

0.3.0-jan 2013年10月15日
---------

*重构为模块:web socket,websocketproxy
*切换到使用ietf 6455的web socket js
*更改为mpl 2.0许可证用于include/*.js
*修复会话录制租用时更新版本号

0.2.0-2012年9月17日.1.0-2012年5月11日
---------

*初始版本发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中的字符串字符下打印星号(*)   java在比较数据后得到错误的结果   java如何在使用JSP创建的网站中创建父子关系和处理?   java配置单元UDF:无法执行求值方法   java GAE项目Intellij远程调试在关闭时不释放端口   java按钮上的放大和缩小功能点击JfreeChart折线图?   java Selenium Chrome Web驱动程序SessionNotCreatedException   java由ADFactoryBuilder生成的线程工厂是线程安全的吗?   java将字符串[]传递给另一个类Android(使用intent)   我为什么要嘲笑java?   JavaLiferay门户不将对象从流程阶段发送到jsp   java我想在单击每个树节点时将要添加的信息放入jpanel jscrollpane中   在Java中模拟数组引用(即对引用的引用)的按引用传递   Jackson将JSON属性反序列化为不同的Java对象   java使用JSP/servlet在网页上显示Excel工作表?   仿射变换Java:使用仿射变换时游戏速度减慢   Servlet JBoss AS 7的java EJB注入   在Oracle数据库中使用Java的plsql   java管理Maven项目中的库依赖项   JavaEclipseLink(JPA)异常:复合主键@JoinColumn