支持异步的PyJoyment的低级别事件反应器。
Pyjo-Reactor-Asyncio的Python项目详细描述
Pyjo反应器异步
低级别事件反应器,对pyjoyment提供异步支持。
快乐
python编程语言的异步事件驱动程序web框架。
pyjoyment提供了自己的reactor,它自己处理i/o和计时器事件。 主事件循环,但它支持其他循环,即libev或asyncio。
异步
此模块提供了编写单线程并发代码的基础结构 使用协同程序,在套接字和其他资源上复用I/O访问, 运行网络客户端和服务器以及其他相关原语。
特罗利乌斯
trollius是python 2上异步项目(PEP3156)的移植。 trollius在python 2.6-3.5上工作。
示例
非阻塞TCP客户端/服务器
importPyjo.Reactor.AsyncioimportPyjo.IOLoop# Listen on port 3000@Pyjo.IOLoop.server(port=3000)defserver(loop,stream,cid):@stream.ondefread(stream,chunk):# Process input chunkprint("Server: {0}".format(chunk.decode('utf-8')))# Write responsestream.write(b"HTTP/1.1 200 OK\x0d\x0a\x0d\x0a")# Disconnect clientstream.close_gracefully()# Connect to port 3000@Pyjo.IOLoop.client(port=3000)defclient(loop,err,stream):@stream.ondefread(stream,chunk):# Process inputprint("Client: {0}".format(chunk.decode('utf-8')))# Write requeststream.write(b"GET / HTTP/1.1\x0d\x0a\x0d\x0a")# Add a timer@Pyjo.IOLoop.timer(3)deftimeouter(loop):print("Timeout")# Shutdown serverloop.remove(server)# Start event loopPyjo.IOLoop.start()