Article View: es.comp.os.linux.programacion
Article #16884Re: Problemillas con los sockets
From: Paco Orts
Date: Fri, 17 Mar 2000 00:00
Date: Fri, 17 Mar 2000 00:00
56 lines
2461 bytes
2461 bytes
Bueno, este es el c�digo de la funci�n que utilizo para leer todo lo que me manden
hasta que alcanze un salto de linea. netSystem.h es una cabecera con la
declaraci�n de la funci�n leerLinea.
#include <netSystem.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
///////////////////////////////////////////////////////
// Funci�n encargada de leer un m�ximo de longBuf
// caracteres del socket sfd y guardarlos en buf.
// Termina tambi�n cuando se encuentre un salto de
// l�nea.
// Devuelve el n�mero de caracteres leidos.
///////////////////////////////////////////////////////
int leerLinea (int sfd, char *buf, int longBuf)
{
char *buffer;
int bytesRestantes = longBuf;
int bytesRecibidos;
buffer = (char *)malloc(2 * sizeof(char));
strcpy (buf, "");
while (bytesRestantes > 0)
{
buffer[0] = ' ';
bytesRecibidos = read (sfd, buffer, 1);
if (bytesRecibidos == -1)
{
printf ("ERROR. Al recibir desde el servidor");
return -1;
}
bytesRestantes -= bytesRecibidos;
strcat(buf, buffer); //bytesRecibidos;
if (buffer[0] == '\n') break;
}
return (longBuf - bytesRestantes);
}
Y por si tambi�n es lo que quieres, donde llamo a esta funci�n es:
recepcion = leerLinea (hdlNetUse, cadena, 100);
if (recepcion == -1)
printf ("Error en la recepci�n desde el servidor");
if (!strcmp (cadena, "COMMUNICATION ACCEPTED\n"))
{
aqu� si hago un telnet nunca me pasa del if.
Gonzalo Paniagua Javier wrote:
> MAnda el trozo de c�digo donde rellenas 'cadena_recibida'...
Technical Details
Message-ID:
<38D20C42.93C42E02@mtgsystem.com>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<38CFDF82.BD9CA6A3@mtgsystem.com> <38D0A222.8EA901FF@NOSPAM.inicia.es> <38D111BE.7DA15CCE@mtgsystem.com> <8asrra$i5d$3@simancas.uva.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,58a23ab56d6ca5b2 X-Google-Attributes: gidf86c8,public From: Paco Orts <webmaster@mtgsystem.com> Subject: Re: Problemillas con los sockets Date: 2000/03/17 Message-ID: <38D20C42.93C42E02@mtgsystem.com> X-Deja-AN: 598700353 Content-Transfer-Encoding: 8bit References: <38CFDF82.BD9CA6A3@mtgsystem.com> <38D0A222.8EA901FF@NOSPAM.inicia.es> <38D111BE.7DA15CCE@mtgsystem.com> <8asrra$i5d$3@simancas.uva.es> To: Gonzalo Paniagua Javier <gpanjav@QUITAetsi.tel.uva.esPAM> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 X-Trace: 17 Mar 2000 11:42:32 +0100, 195.5.69.214 Organization: Arrakis Servicios y Comunicaciones SLU MIME-Version: 1.0 Newsgroups: es.comp.os.linux.programacion