Article View: es.comp.os.linux.programacion
Article #7161Re: Obtener numero de bytes pendientes en cola de socket
From: Pascal Bourguignon
Date: Tue, 25 Mar 2003 05:37
Date: Tue, 25 Mar 2003 05:37
34 lines
2402 bytes
2402 bytes
Rufus <hidden@terra.es> writes: > Buenas grupo > > Pues eso que estoy currandome un programilla y me veo en la necesidad de > saber cual es el numero de bytes que quedan por enviar en la cola del > socket. > Es decir si haces un > netstat -tan > > Proto Recv-Q Send-Q Local Address Foreign Address State > tcp 0 135 XXX.XX.X.X:38565 YYY.YYY.Y.Y:110 ESTABLISHED > > lo que busco por programa es conseguir el valor de Send-Q (es decir el 135). > he mirado en el codigo de netstat y lo que hace es abrir el fichero > /proc/net/tcp o alguno de esos, pero debido a la cantidad de veces que lo > tengo que realizar no me puedo permitir el lujo de hacer tantos fopen, > buscar el socket, y coger lo que necesito y cerrar el archivo. > > Alguien sabe como puedo hacer esto. Un fopen en /proc/ no debe costar mīŋŊs que un syscall. Por un otro lado, si tienes que ver los bytes que salen asi, supongo que se trata de velocidades de modem. A 5760 byte/s, un MTU de 1500 necesita 260 ms para salir, o algo como 26 time-slices. Me parece que tienes bastante tiempo para hacer muchas veces fopen/fread/fclose, o, si quieres optimizar, open/read un grande buffer/close. -- __Pascal_Bourguignon__ http://www.informatimago.com/ ---------------------------------------------------------------------- Do not adjust your mind, there is a fault in reality.
Technical Details
Message-ID:
<87he9st3b5.fsf@thalassa.informatimago.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!213.220.35.225!not-for-mailReferences:
<b5o1uh$2bavl2$1@ID-144583.news.dfncis.de>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,e57195fa601185db X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-03-24 21:37:38 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!213.220.35.225!not-for-mail From: Pascal Bourguignon <pjb@informatimago.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: Obtener numero de bytes pendientes en cola de socket Date: 25 Mar 2003 06:37:02 +0100 Organization: informatimago.com Lines: 34 Sender: pascal@thalassa.informatimago.com Message-ID: <87he9st3b5.fsf@thalassa.informatimago.com> References: <b5o1uh$2bavl2$1@ID-144583.news.dfncis.de> NNTP-Posting-Host: 213.220.35.225 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1048570656 79348962 213.220.35.225 (16 [41911]) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50