可以实现单进程并发IO操作, 如果仅用在客户端的话, 发挥的威力并不大。如果把用在服务器端, 由于http链接就是IO操作。因此, 可以采用单线程加其他办法这种方式, 来实现对于多个客户高并发支持的功能内容。异步编程存在这样一个原则, 那就是当人们决定去使用异步的时候, 系统中从最顶层到底层的每一层都必须是异步的, 因为这就好像拉开了弓射出的箭一样, 是没有回头路可以走的。它实现了对 TCP、UDP 以及 SSL 这些协议相关的支持, 所以说, 它是一个建立在底层协议基础之上做出来的 HTTP 框架。我们要编写一个HTTP服务器的代码, 针对下面这些具体的URL地址, 要进行分别的处理。/ 首页返回一个HTML通过传入对应的参数值系统能够针对该具体的字符串输入进行识别并处理, 最终输出包含问候语在内的完整响应内容。importasynciofromaiohttpimportwebasyncdefindex(request):await asyncio.sleep(0.5)returnweb.Response(bodybIndex)asyncdefhello(request):await asyncio.sleep(0.5)text hello, %s!% request.match_info[name]returnweb.Response(bodytext.encode(utf-8))asyncdefinit(loop):app web.Application(looploop)app.router.add_route(GET,/, index)app.router.add_route(GET,/hello/{name}, hello)srv await loop.create_server(app.make_handler(),127.0.0.1, 8000)print(Server started at http://127.0.0.1:8000...)returnsrvloop asyncio.get_event_loop()loop.run_until_complete(init(loop))loop.run_forever()要注意的一个初始化函数, 它被叫做init()。还有一个loop.()呢。这个loop.()是利用了创建TCP服务这种方式去实现的。
阅读完成 · 觉得有帮助?