
我试过让read()函数尽可能多地读取,
data = yIEld from reader.read()
但这似乎永远阻止了.所以我试着读取块直到达到EOF,
while not reader.at_eof(): data += yIEld from reader.read(100)
虽然这会检索更多的数据,但它似乎阻止了读取调用而不是退出while循环.
如何使用流阅读器从客户端获取整个消息?
解决方法 您应检查StreamReader.read是否返回空字节对象以表示EOF: data = bytearray()while True: chunk = yIEld from reader.read(100) if not chunk: break data += chunk
另外,如果您需要功能齐全的http客户端,请考虑使用aiohttp.
以上是内存溢出为你收集整理的python – 从asyncio StreamReader读取全部内容,希望文章能够帮你解决python – 从asyncio StreamReader读取所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)