🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #12866

Re: Estructuras por socket

#12866
From: Ignacio Arenaza
Date: Mon, 07 May 2001 20:48
59 lines
3437 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

>>>>> "cesar" == cesar m redondo <cesar.redondo@mad.tecsidel.es> writes:

    >> no es que no vaya a funcionar, funciona perfectamente; lo que
    >> pasa es que no tiene sentido.

    cesar> no funciona, en esto consiste mi proyecto fin de carrera y
    cesar> he hecho montones (pero montones) de pruebas y te aseguro
    cesar> que no funciona mandar un char* en una estructura.

Ejem, espero que mejores tus pruebas antes del fin del proyecto,
porque sino te van a suspender.

Cuando tienes un char* en una
estructura y envias la estructura, envias el contenido del puntero,
que adivina que es, _una direccion de memoria_. Otra cosa muy distinta
es el contenido de la direccion apuntada por el puntero.

    >> Estas pasando una direccion de memoria que (se supone) apunta a
    >> una cadena del proceso cliente al servidor, en el que esa misma
    >> posicion de memoria a saber a donde apunta.

    cesar> Siento contradecirte pero no pasa la direcci�n de memoria,
    cesar> pasa el contenido del char*, porque los char* sabes que

Por favor, releer mas arriba.

    >> Si quieres pasar una cadena, envia un char D[256];

    cesar> Esto no lo he probado porque mis cadenas de caracteres eran
    cesar> char* porque variaban de tama�o y necesitaba usar memoria
    cesar> din�mica.

Pues no pasa nada, envias la estructura, sabes que la direccion del
char* en realidad no es la valida, envias a continuacion la longitud
de la cadena y su valor y en destino reservas la cantidad de memoria
necesaria para esa cadena (mas el terminador) y copias en esa zona la
cadena que te llega a continuacion. Vamos, nada de ciencia espacial
;-)

De todos modos, si necesitas hacer todo esto de forma habitual y con
tipos de datos variados, creo que necesitas echar un ojo a rcpgen y el
lenguaje de transmision de datos RPC (RPCL).

Saludos. I�aki.

- -- 
  Get PGP/GPG Keys at http://www.escomposlinux.org/iarenaza/pgpkey.html

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Processed by Mailcrypt and GPG

iD8DBQE69wokZXLnGT1HLgcRAmfYAJ9k/4U6CSq6owyfx51AZlxdDbelIACeMvdx
4M8CC2aa4uSSmJH+2RgikC8=
=N7OP
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <87u22wanru.fsf@eb2ebu.ampr.org>
Path: arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!44.133.1.30!nobody
References: <3AF3F290.1030009@wanadoo.es> <874ruzsvb6.fsf@relativistic.homeip.net> <3AF64BC4.B737246B@mad.tecsidel.es> <9d652a$aoj$1@news.unizar.es> <3AF6B106.E6D64723@mad.tecsidel.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,5fd35ee70e813e32
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2001-05-08 13:16:17 PST
Path: arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!44.133.1.30!nobody
From: Ignacio Arenaza <iarenaza@eb2ebu.ampr.org>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Estructuras por socket
Date: 07 May 2001 22:48:37 +0200
Organization: Servidor NNTP de eb2ebu.ampr.org
Lines: 59
Message-ID: <87u22wanru.fsf@eb2ebu.ampr.org>
References: <3AF3F290.1030009@wanadoo.es> <874ruzsvb6.fsf@relativistic.homeip.net> <3AF64BC4.B737246B@mad.tecsidel.es> <9d652a$aoj$1@news.unizar.es> <3AF6B106.E6D64723@mad.tecsidel.es>
NNTP-Posting-Host: 62-36-86-7.dialup.uni2.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: m2newsreader01.wanadoo.es 989351399 10853 62.36.86.7 (8 May 2001 19:49:59 GMT)
X-Complaints-To: usenet@wanadoo.es
NNTP-Posting-Date: Tue, 8 May 2001 19:49:59 +0000 (UTC)
User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7