异步兼容的套接字池

aiosocketpool的Python项目详细描述


Circle CIBlack Code Style

aiosocketpool公司

异步兼容套接字池。简单,紧凑,易于扩展。在

如果您的应用程序需要同时(并且经常)连接到多个远程主机,那么 保持连接打开并重新使用它们,而不是为 每一个请求。结合一个asyncio事件循环和一个套接字池可能是一个好方法!在

基于socketpool。在

需要Python 3.7或更高版本。

示例

使用asyncio库在后台线程中运行一个简单的TCP echo服务器。在

importasyncioimportthreading# start a new event loop running in a background threaddefrun_loop_forever(loop):loop.run_forever()loop=asyncio.new_event_loop()t=threading.Thread(name="BackgroundEventLoop",target=run_loop_forever,args=[loop],daemon=True)t.start()# run a tcp echo server using asyncio in the background event loopasyncdefecho_handler(reader,writer):writer.write(awaitreader.read(32))awaitwriter.drain()writer.close()asyncdefecho_server(tcp_port):server=awaitasyncio.start_server(echo_handler,"127.0.0.1",tcp_port)awaitserver.serve_forever()asyncio.run_coroutine_threadsafe(echo_server(12345),loop)

在主线程中创建一个新的TCP连接池,获取一个连接,并发送和接收数据。在

^{pr2}$

创建一组连接并同时运行它们。在

loop=asyncio.get_event_loop()tasks=[]for_inrange(25):tasks.append(loop.create_task(hello_world()))loop.run_until_complete(asyncio.gather(*tasks))

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

推荐PyPI第三方库


热门话题
java将值插入sql表的选定列。使用c等参数#   IF语句的java JList数据添加   java在这种情况下有没有更好的方法来调整哈希值?   java@Valid不会触发@Repository中的验证   java如何在安卓中调整位图的大小   iTextJava。lang.NoClassDefFoundError:com/itextpdf/text/DocumentException   java使用ResourceBundleMessageSource加载一个ressource包(message.properties)的全部内容   java如何通过JasperReports 6动态设置Excel工作表名称。十、   java是编写这个程序的最佳方式   JAVA伊奥。FileNotFoundException:C:\Program Files\Apache软件基金会\Tomcat 8.0\。。\webapps\ROOT\\u cips\config。伊尼   java我正在尝试创建一个TictaToe程序,但是JOptionPane和绘图有问题   垃圾收集为什么java中的finalize()方法不在Finalizer类中?为什么它是在对象类中定义的?   java如何用括号编码替换url中的括号?   java web集成移动应用程序   在netbeans中运行MIDP2应用程序时出现java错误