事件源库

eventsource的Python项目详细描述


自述文件:python的事件源库
===



==python的事件源库在事件源上实现w3c草稿:
-http://dev.w3.org/html5/event source/


数量
——

-相当新的蟒蛇(用2.7测试)
-相当新的龙卷风(用2.2.1测试)

启动服务器:

eventsource_listener-p 8888-i-k 50000


2。启动客户端:

eventsource_client 42:42:42:42:42:42-r 5000


3。发送请求:

eventsource请求42:42:42:42:42:42:42 ping"42"
eventsource请求42:42:42:42:42关闭


[-j][-k keepalive][-i]


>事件源侦听器


可选参数:
-h,--帮助显示此帮助消息并退出
-h主机,--要绑定的主机主机
-p端口,--要绑定的端口端口
-d,--调试启用调试输出
-j,--json启用json事件
-k keepalive,--keepalive keepalive
keepalive超时
-i,--i d生成标识符

-`eventsource/client.py`或`eventsource\u client`:

用法:eventsource/client.py[-h[-h主机][-p端口][-d]
[-r retry]
令牌

事件源客户端

/>-p端口,--要使用的端口端口连接
-d,--调试启用调试输出
-r重试,--重试重试
重新连接超时

-`eventsource/send_request.py`或`eventsource_request`:

用法:eventsource/send_request.py[-h主机][-p端口][-j]
令牌操作[数据]


为事件源库生成事件


位置参数:
用于连接的令牌
发送的操作
要发送的数据


可选参数:
-h,--帮助显示此帮助消息并退出
-h主机,--要连接到
-p端口的主机,--要使用的端口端口连接
-j,--json将数据视为json


ntsource import listener

application=tornado.web.application([
(r/(*)/(*)",listener.eventsourcehandler,
dict(event_class=event,
keepalive=keepalive)),
]

application.listen(port)
tornado.ioloop.ioloop.instance().start()

其中:
-port是要绑定到的端口的整数
-keepalive是两条keepalive消息之间超时的整数(以防止断开连接)
-event是eventsource.listener.event类,可以是您创建的类,也可以是
-eventsource.listener.stringevent:每个事件都获取并重新发送多行字符串
-eventsource.listener.stringidevent:每个事件获取并重新发送多行字符串,eac具有唯一的idh event
-eventsource.listener.jsonevent:每个事件获取并重新发送json有效字符串
-eventsource.listener.jsonidevent:每个事件获取并重新发送json有效字符串,每个事件具有唯一的id

extend
----

rce库在不破坏eventsource
定义的情况下,基于事件的类实现了对事件执行
的所有处理元素。

定义事件的抽象类有两个:
-eventsource.listener.event:定义事件的构造函数
-eventsource.listener.event id:定义始终递增的id处理程序

在用分号分隔的一行字符串中。


class one line event(event):
actions=["ping",event.finish]

"启用值的多行输出的属性"""
def get_value(self):
"用分号替换回车"s
r/>没有比这更简单的了:


class onelineidevent(onelineevent,idevent):
id=property(idevent.get_value)


>或者如果我希望id是时间戳:


import time
class onelinetimestampevent(onelineevent):
id=property(lambda s:"%f"%(time.time(),))


您可以在基于事件的类中更改一些事情的行为:
-event.listen包含打开连接的get操作(按默认"poll")
-event.finish包含关闭连接的post操作(按默认"close")
-event.retry包含定义在网络断开连接后重新连接后超时的POST操作(默认值为"0",表示已禁用)
-在"事件.actions"列表中,定义允许的POST操作,默认值为仅允许event.finish。
-event.content_type包含每个表单将要求的"content_type"(未强制执行)。


若要更改生成事件的方式,可以直接调用eventsourcehandler.buffer_event()
创建要发送的新事件。但后处理是最好的,至少在wsgi不能正确处理
长轮询连接的情况下。


许可
——


python事件源库

(c)2012年由ian whyman和kin thinorep快闪快闪的bernard pratz
E:你可以根据GNU通用公共许可证的条款对其进行重新分发和修改,如许可证的第3版。
此程序被分发,希望它是有用的,但没有任何保证;甚至没有我的默示保证。可搜索性或对某一特定目的的适合性有关详细信息,请参阅GNU通用公共许可证。
您应该已经收到GNU通用公共许可证的副本以及此程序。如果没有,请参见http://www.gnu.org/licenses/





有关完整文档,请参见http://packages.python.org/event source/
有关最新源和修补程序的信息,请参见https://github.com/guyzmo/event-source-libraryup
*在侦听器中:
*删除了作为deque的事件缓冲区
*添加了toro依赖项
*添加了toro.asyncResult以替换事件的deque缓冲区
*使用了toro.asyncResult来阻止和调用客户端中的事件循环
*添加了keep alive参数

1.0.5版:
*移动了事件循环回调重新启动
*将事件缓冲区从列表更改为deque

1.0.4版:
*添加了无效的SSL证书支持
*来自Ian Whyman的集成修补程序:
*支持错误的HTTP服务实现(与"\n"和"\r\n"兼容)
*添加了对客户端连接的用户/密码支持快进Гm_aphapк:
*使用Tornado的JSON模块
*外观更改


1.0.3版:
*增加了对SSL连接的支持

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

推荐PyPI第三方库


热门话题
MySQL使用Java从文件插入大型数据集   java如何在连接到Oracle DB的Oracle JDBC驱动程序中隐藏用户名和密码   Java:在嵌套列表中匹配列表   java Android TCP程序崩溃   目录创建文件夹和文件夹。Java上的exe文件   java编译问题与示例代码   摇摆的颜色。使用drawString()java时跳过白色   java浓缩咖啡中是否有“或”运算符?   在Java中传递2D数组列表   在Java子字符串中跳过起始和结束字符索引的方法?   JAVA如何从另一个类调用void方法并读取公共字符串方法?   java Hibernate@manytone和@OneToMany与Liquibase   java Firebase firestore提供空指针异常   java扫描仪出现间歇性错误。read()未拾取分隔符