Why not have a recvall method?

陶青云 qingyun.tao at tophant.com
Sun Feb 4 09:01:24 EST 2018


makefile('rb') return a  io.BufferedReader and the doc(https://docs.python.org/3/library/io.html#io.BufferedIOBase.read) says:
    If the argument is positive, and the underlying raw stream is not interactive, multiple raw reads may be issued to satisfy the byte count (unless EOF is reached first).
    
 
------------------ Original ------------------
From:  "Steven D'Aprano"<steve+comp.lang.python at pearwood.info>;
Date:  Sun, Feb 4, 2018 09:31 PM
To:  "python-list"<python-list at python.org>;
Subject:  Re: Why not have a recvall method?
 
On Sun, 04 Feb 2018 19:26:36 +0800, 陶青云 wrote:

> Hello, allThe 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 `call f.read(n)` Thanks.

I am not an expert on sockets, but since f.read(n) will read a maximum of 
n bytes, isn't that the same as socket_obj.recv(n)?



-- 
Steve

-- 
https://mail.python.org/mailman/listinfo/python-list


More information about the Python-list mailing list