Why not have a recvall method?

Dan Stromberg drsalists at gmail.com
Sun Feb 4 17:01:13 EST 2018


On Sun, Feb 4, 2018 at 5:26 AM, 陶青云 <qingyun.tao at tophant.com> wrote:
> Hello, all
> The socket object has a `sendall` method that can send all bytes you specified.
> Oppositely, socket only has a recv method. I wonder why there is not a `recvall` method?
> To workaround this, I use `f = socket.makefile('rb')`, then all `f.read(n)`
> Thanks.

You're probably good with socket.makefile('rb').

An alternative that allows things like reading null-terminated input:
http://stromberg.dnsalias.org/~strombrg/bufsock.html

I wrote it and have been using it in production for years.



More information about the Python-list mailing list