🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Obtener numero de bytes pendientes en cola de socket

#7161
From: Pascal Bourguignon
Date: Tue, 25 Mar 2003 05:37
34 lines
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-mail
References: <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