osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Why not have a recvall method?


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.