async defecho_server(loop,address,unix):
ifunix:
sock=socket(AF_UNIX,SOCK_STREAM)
else:
sock=socket(AF_INET,SOCK_STREAM)
sock.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
sock.bind(address)
sock.listen(5)
sock.setblocking(False)
ifPRINT:
print('Server listening at',address)
withsock:
whileTrue:
client,addr=await loop.sock_accept(sock) # 通过await来监听新连接
ifPRINT:
print('Connection from',addr)
loop.create_task(echo_client(loop,client))
async defecho_client(loop,client):
try:
client.setsockopt(IPPROTO_TCP,TCP_NODELAY,1)
except(OSError,NameError):
pass
withclient:
whileTrue:
data=await loop.sock_recv(client,1000000) # 缓冲区有数据的监听唤醒
ifnotdata:
break
await loop.sock_sendall(client,data)
ifPRINT:
print('Connection closed')
async defecho_client_streams(reader,writer):
sock=writer.get_extra_info('socket')
try:
sock.setsockopt(IPPROTO_TCP,TCP_NODELAY,1)
except(OSError,NameError):
pass
ifPRINT:
print('Connection from',sock.getpeername())
whileTrue:
data=await reader.read(1000000)
ifnotdata:
break
writer.write(data)
ifPRINT:
print('Connection closed')
writer.close()
importuvloop
loop=uvloop.new_event_loop()
asyncio.set_event_loop(loop)
loop.create_task(print_debug(loop))
coro=asyncio.start_unix_server(echo_client_streams,
addr,loop=loop)
srv=loop.run_until_complete(coro)
loop.run_forever()
相关推荐
资源分类:Python库 所属语言:Python 资源全名:uvloop-0.15.2-cp38-cp38-macosx_10_14_x86_64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
基于 asyncio,aiohttp,uvloop 的爬虫框架
uvloop是内建asyncio事件循环的一个快速的直接替代品。uvloop使用Cython实现的,使用libuv。
资源分类:Python库 所属语言:Python 资源全名:uvloop-0.7.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:uvloop-0.15.0-cp37-cp37m-macosx_10_14_x86_64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python库。 资源全名:uvloop-0.7.2-cp35-cp35m-manylinux1_i686.whl
python库。资源全名:uvloop-0.12.1-cp35-cp35m-macosx_10_11_x86_64.whl
资源分类:Python库 所属语言:Python 资源全名:uvloop-0.5.1-cp35-cp35m-manylinux1_x86_64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:uvloop-0.6.7.tar.gz
uvloop与asyncio以及Python 3.5中async / await的强大功能一起,使uvloop变得比以往任何时候都更容易编写高性能的Python网络代码。 uvloop使asyncio变得异常快-比nodejs或任何其他Python异步框架快2至4倍。 基于...
gmqtt:Python异步MQTT客户端实现。 安装 最新的稳定版本在Python软件包索引(PyPi)中可用,可以使用以下命令安装 pip3 install gmqtt 用法 入门 这是一个非常简单的示例,该示例订阅了代理TOPIC主题并打印出结果...
Japronto 超快的Python 3.5 web 微框架,集成了基于uvloop和picohttpparser的流水线HTTP服务器。
这为您提供了一个ASGI应用程序,该应用程序已预安装了生产静态文件服务器,jinja2模板(无附加导入)和基于uvloop的生产网络服务器,可通过gzip压缩自动处理请求。 推荐书“非常喜欢python-responder。@ ...
大脸猫是一个基于aiohttp,uvloop和BeautifulSoup的爬虫框架,语法类似Flask
uvloop:超快速异步事件循环