当前位置: 首页 > news >正文

如何在建设银行网站查验回单陶瓷网站建设中企动力

如何在建设银行网站查验回单,陶瓷网站建设中企动力,宝塔window怎么做网站,广州市城乡和建设局网站首页前言本文翻译自python3.7官方文档——asyncio-stream,译者马鸣谦,邮箱 1612557569qq.com。转载请注明出处。数据流(Streams)数据流(Streams)是用于处理网络连接的高阶异步/等待就绪(async/await-ready)原语,可以在不使用回调和底层传输协议的情况下发送和接收数据。以下是一个用…前言本文翻译自python3.7官方文档——asyncio-stream,译者马鸣谦,邮箱 1612557569qq.com。转载请注明出处。数据流(Streams)数据流(Streams)是用于处理网络连接的高阶异步/等待就绪(async/await-ready)原语,可以在不使用回调和底层传输协议的情况下发送和接收数据。以下是一个用asyncio实现的TCP回显客户端import asyncioasync def tcp_echo_client(message):reader, writer await asyncio.open_connection(127.0.0.1, 8888)print(fSend: {message!r})writer.write(message.encode())data await reader.read(100)print(fReceived: {data.decode()!r})print(Close the connection)writer.close()await writer.wait_closed()asyncio.run(tcp_echo_client(Hello World!))完整代码见例子一节。Stream方法以下所列的高层asyncio方法可以被用作创建和处理Streamcoroutine asyncio.open_connection(hostNone,*,loopNone,limitNone,sslNone,family0,proto0,flags0,sockNone,local_addrNone,server_hostnameNone,ssl_handshake_timeoutNone)创建一个网络连接并返回一对(reader,writer)对象。返回的reader和writer对象是StreamReader和StreamWriter类的实例。loop是可选参数在此方法被某个协程await时能够自动确定。limit限定返回的StreamReader实例使用的缓冲区大小。默认情况下缓冲区限制为64KiB。其余的参数被直接传递给loop.create_connection()。python3.7新增ssl_handshake_timeout参数。coroutine asyncio.start_server(client_connected_cb,hostNone,portNone,*,loopNone,limitNone,familysocket.AF_UNSPEC,flagssocket.AI_PASSIVE,sockNone,backlog100,sslNone,reuse_addressNone,reuse_portNone,ssl_handshake_timeoutNone,start_servingTrue)启动一个socket服务端。client_connected_cb指定的回调函数在新连接建立的时候被调用。该回调函数接收StreamReader和StreamWriter类的‘实例对’(reader,writer)作为两个参数。client_connected_cb可以是普通的可调用函数也可以是协程函数。如果是协程函数那么会被自动封装为Task对象处理。loop是可选参数在此方法被某个协程await时能够自动确定。limit限定返回的StreamReader实例使用的缓冲区大小。默认情况下缓冲区限定值为64KiB。其余的参数被直接传递给loop.create_server()。python3.7新增ssl_handshake_timeout和start_serving参数。Unix Socketscoroutine asyncio.open_unix_connection(pathNone,*,loopNone,limitNone,sslNone,sockNone,server_hostnameNone,ssl_handshake_timeoutNone)创建一个Unix socket连接并返回一对(reader,writer)对象。与open_connection类似只是运行在Unix sockets上。可用于Unixpython3.7新增ssl_handshake_timeout参数。python3.7修正path参数可以为类path(path-like)对象coroutine *asyncio.start_unix_server(client_connected_cb, pathNone, , loopNone, limitNone, sockNone, backlog100, sslNone, ssl_handshake_timeoutNone, start_servingTrue)启动一个Unix socket 服务端。类似于start_server,只是运行在Unix sockets上。可用于Unixpython3.7新增ssl_handshake_timeout参数。python3.7修正path参数可以为类path(path-like)对象StreamReaderclass asyncio.StreamReader定义一个读取器对象提供从IO数据流中读取数据的API。不建议 直接实例化StreamReader对象。建议通过open_connection()或start_server()创建此类对象。coroutine read(n-1)最多读取n字节数据。如果n未设置或被设置为-1则读取至EOF标志并返回读到的所有字节。如果在缓冲区仍为空时遇到EOF则返回一个空的bytes对象。coroutine readline()读取一行(以\n为标志)。如果在找到\n之前遇到EOF则返回已读取到的数据段。如果遇到EOF时内部缓冲区仍为空则返回空的bytes对象。coroutine readexactly(n)精确读取n字节数据。如果在尚未读够n字节时遇到EOF则引发IncompleteReadError异常。已经读取的部分数据可以通过IncompleteReadError.partial属性获取。coroutine readuntil(separatorb\n)从数据流中读取数据直到遇到separator。如果执行成功读到的数据和分隔符将从内部缓冲区里移除。返回的数据会在末尾包含分隔符。如果读取数据的总量超过了配置的数据流缓冲区限制则引发LimitOverrunError,数据会被留在内部缓冲区中可以被再次读取。如果在找到separator分隔符之前遇到EOF则引发IncompleteReadError异常内部缓冲区会被重置。IncompleteReadError.partial属性会包含部分separator。python3.5.2新增。at_eof()如果缓冲区为空且feed_eof()被调用则返回True。StreamWriterclass asyncio.StreamWriter定义一个写入器对象提供向IO数据流中写入数据的API。不建议直接实例化StreamWriter对象建议通过open_connection或start_server实例化对象。can_writer_eof()如果下层传输支持write_eof方法则返回True,否则返回False。write_eof()在缓冲的写入数据被刷新后关闭数据流的写入端。transport返回下层的asyncio传输。get_extra_info(name,defaultNone)访问可选的传输信息。write(data)向数据流中写入数据。此方法不受流量控制的影响。write()应同drain()一同使用。writelines()向数据流中写入bytes列表(或任何的可迭代对象)。此方法不受流量控制的影响。应与drain()一同使用。coroutine drain()等待恢复数据写入的时机。例如writer.write(data)await writer.drain()这是一个与底层IO输入缓冲区交互的流量控制方法。当缓冲区达到上限时drain()阻塞待到缓冲区回落到下限时写操作可以被恢复。当不需要等待时drain()会立即返回。close()关闭数据流。is_closing()如果数据流已经关闭或正在关闭则返回True。coroutine wait_closed()保持等待直到数据流关闭。保持等待直到底层连接被关闭应该在close()后调用此方法。Python3.7新增。示例利用Stream实现TCP回显客户端import asyncioasync def tcp_echo_client(message):reader, writer await asyncio.open_connection(127.0.0.1, 8888)print(fSend: {message!r})writer.write(message.encode())data await reader.read(100)print(fReceived: {data.decode()!r})print(Close the connection)writer.close()asyncio.run(tcp_echo_client(Hello World!))利用Stream实现TCP回显服务端import asyncioasync def handle_echo(reader, writer):data await reader.read(100)message data.decode()addr writer.get_extra_info(peername)print(fReceived {message!r} from {addr!r})print(fSend: {message!r})writer.write(data)await writer.drain()print(Close the connection)writer.close()async def main():server await asyncio.start_server(handle_echo, 127.0.0.1, 8888)addr server.sockets[0].getsockname()print(fServing on {addr})async with server:await server.serve_forever()asyncio.run(main())获取HTTP头import asyncioimport urllib.parseimport sysasync def print_http_headers(url):url urllib.parse.urlsplit(url)if url.scheme https:reader, writer await asyncio.open_connection(url.hostname, 443, sslTrue)else:reader, writer await asyncio.open_connection(url.hostname, 80)query (fHEAD {url.path or /} HTTP/1.0\r\nfHost: {url.hostname}\r\nf\r\n)writer.write(query.encode(latin-1))while True:line await reader.readline()if not line:breakline line.decode(latin1).rstrip()if line:print(fHTTP header {line})# Ignore the body, close the socketwriter.close()url sys.argv[1]asyncio.run(print_http_headers(url))用法python example.py http://example.com/path/page.html或python example.py https://example.com/path/page.html利用Stream注册等待数据的开放socketimport asyncioimport socketasync def wait_for_data():# Get a reference to the current event loop because# we want to access low-level APIs.loop asyncio.get_running_loop()# Create a pair of connected sockets.rsock, wsock socket.socketpair()# Register the open socket to wait for data.reader, writer await asyncio.open_connection(sockrsock)# Simulate the reception of data from the networkloop.call_soon(wsock.send, abc.encode())# Wait for datadata await reader.read(100)# Got data, we are done: close the socketprint(Received:, data.decode())writer.close()# Close the second socketwsock.close()asyncio.run(wait_for_data())
http://wiki.neutronadmin.com/news/288046/

相关文章:

  • 旅游网站案例分析市场代理招商信息
  • 学做分类网站公司网页设计html
  • seo网站推广的主要目的包括建设论坛网站
  • 网站公司做网站修改会收费吗重庆市建设工程信息网联系电话
  • 企信查官网旺道seo推广系统怎么收费
  • 河源建设局网站罗泾网站建设
  • 网站无后台添加后台东莞小程序开发解决方案
  • 天津企业网站建设哪家好做网站的大骗子
  • 网站正在建设中 图片网站建设便宜
  • 许昌市做网站wordpress固定链接+404
  • tomcat做网站属于什么公装设计网站
  • 机关网站建设费入什么科目最便宜的货源网站大全
  • 新电商网站网站建设公司问候语
  • 东莞贸易公司寮步网站建设价格厂房装修东莞网站建设
  • 专业手机网站建设价格明细表西安建设工程交易中心
  • 建设银行境外汇款申请书网站手机网站开发 和 网页
  • 做网站运用的软件网站设计中的用户体验
  • 云阳一平米网站建设怎么做货物收发的网站
  • 小型购物网站开发怎么制作自己的免费网站
  • 友情链接网站源码怎样建自己的网站赚钱
  • 建立网站就是制作网页邯郸市教育公共服务平台
  • 软件公司门户网站模板好网站推荐
  • 沈阳个人网站建设重庆汽车网站建设
  • 武侯区网站建设100种禁用的视频软件不要钱
  • 建立网站的工具wordpress cms plugin
  • 做网站知识wordpress 前台
  • 有网络网站打不开商务网站建设与管理
  • 企业网站一般用什么域名如何外贸网站推广
  • 做网站公司logo网络广告效果评估
  • 淄博网站设计策划方案维护wordpress评论翻页