printf() no bloquea
En su primer printf "Recv mes from [%s][%d]:\n}", ¿cuál es la situación con el último "}"?
Además, el flujo de salida de printf está almacenado en un búfer y solo se generará cuando obtenga un "\n";
Puedes usar fflush(stdout) para hacer esto.
Se recomienda generar el valor de retorno de fflush al depurar... Quizás la actualización falló...
Pero hay otro método 2, cancelar el almacenamiento en búfer estándar
(requiere stdlib.h)
setbuf(stdout,NULL);//Este método solo se usa para Unix y sistemas similares a Unix, no sé si es factible en Windows
Modificado El código fuente es el siguiente setbuf(stdout,NULL);
while?(1){
sRec?=?recv(sAccept,?rbuf,?sizeof (rbuf),0);
fflush(stdout);
if?(sRec?>?0){
printf("Recv?mes? de?[%s][ %d]:\n",(char*)inet_ntoa(cli.sin_addr),ntohs(cli.sin_port));
printf("%s",rbuf) ;
}