soy relativamente novato en esto de la programación y tengo una pequeña duda, a ver si me podéis echar un cable. Tengo que implementar un servidor HTTP en C++, el caso es que en la función que recoge las peticiones que se le hacen, en la primera ejecución se procesa correctamente, pero a partir de ahí, no sé por qué, se introduce un caracter extraño en la primera posición de la petición.
Para que nos entendamos, la petición se recoge en la variable buffer (char*) y se concatena en la variable llegada. Es en ésta donde aparece el caracter extraño.
Código C++:
Alguien ve algún fallo que pueda estar provocando esto.Ver original
while (conexion==1) { llegada = new char [1024]; do //Este do es el que permite recibir mensajes con varias líneas mediante telnet. /// while(1) { buffer = new char [1024]; n_recv = recv (len, buffer,1024, 0); if (n_recv == 0) { cout << "->\tConexión cerrada por el cliente." << endl; close(len); return; } else if (n_recv== -1) { close(len); return; } strcat(llegada,buffer); //concatena el contenido de ambas variables. Es decir, poner a continuacion de mensaje el contenido de buf. En } cout << llegada << endl; //código que procesa la petición delete llegada;
Gracias por adelantado :D