From Mirc Help file:
/sockread [-fn] [numbytes] <%var|&binvar>
If you specify a &binvar then [numbytes] of info is read into the binary variable. If no [numbytes] is specified it defaults to 4096 bytes.
So you can make it all in one read, if the socket has all the data stored already