Depende de lo que quieran lograr y de la estructura de su programa.
En primer lugar observen que el resultado de ambos fragmentos de código es el mismo: entran, quedan ahí hasta que envían todo, y luego siguen. En ese sentido son intercambiables, y tiene sentido usar la que parezca más simple.
La segunda opción les agrega la posibilidad de hacer algo periódicamente mientras están enviando, agregando código adentro del while. O tal vez ya tengan un bucle donde están haciendo algo, p.ej. leyendo, y de paso van enviando lo que pueden.
En resumen, si lo único que quieren hacer es enviar todo y no hacer nada más, opción A. Si además de escribir tiene que hacer otra cosa, opción B.