Una de sockets....

14/10/2003 - 13:07 por Mario Campo | Informe spam
Hola a todos,
Mi problema es el siguiente tengo dos aplicaciones, una de ellas lleva
incorporado un timer que cada 100ms envia por un socket una trama de 81
bytes, y la otra mediante otro socket realiza otras operaciones con tramas
bastante más grandes. Con una red 100Mb funciona todo correctamente, y no
existen retardos en el pulling.

En cambio si probamos en una red WiFi con un ancho de banda menor existen
retardos considerables en la aplicación 1 (el pulling llega con un intérvalo
de 500 ms).

Yo sé que libero al Sistema Operativo cada 100ms una trama, pero es el SO
quien lo pone en algún 'buffer' y lo envía cuando puede (en este caso
500ms).

Existe alguna manera de quitar dicho buffer para que cuando se envien dichas
tramas salgan si pueden y si no que se pierdan? o se puede dar preferencia a
las tramas enviadas desde una aplicación (alguna propiedad del socket)??

Gracias y Saludos...

Mario Campo
 

Leer las respuestas

#1 Juan Cristóbal Olivares C.
14/11/2003 - 23:01 | Informe spam
Si estás usando sockets, los métodos Socket.Send (...) deberían retornarte
la cantidad de bytes enviados correctamente. Si quieres saber si se puede
escribir en el socket, deberías utilizar Socket.Select con el SelectMode
Write, así sabes si es posible escribir datos en ese momento.

Espero que te sirva. Puedes ver la info en la documentación de Socket.
Si necesitas más ayuda, pues postea :)

Saludos
Juan C. Olivares
www.juancri.com

"Mario Campo" <mcampo@#nospam#proytecsa.es> wrote in message
news:bmglcs$gs6$
Hola a todos,
Mi problema es el siguiente tengo dos aplicaciones, una de ellas lleva
incorporado un timer que cada 100ms envia por un socket una trama de 81
bytes, y la otra mediante otro socket realiza otras operaciones con


tramas
bastante más grandes. Con una red 100Mb funciona todo correctamente, y no
existen retardos en el pulling.

En cambio si probamos en una red WiFi con un ancho de banda menor existen
retardos considerables en la aplicación 1 (el pulling llega con un


intérvalo
de 500 ms).

Yo sé que libero al Sistema Operativo cada 100ms una trama, pero es el SO
quien lo pone en algún 'buffer' y lo envía cuando puede (en este caso
500ms).

Existe alguna manera de quitar dicho buffer para que cuando se envien


dichas
tramas salgan si pueden y si no que se pierdan? o se puede dar preferencia


a
las tramas enviadas desde una aplicación (alguna propiedad del socket)??

Gracias y Saludos...

Mario Campo


Preguntas similares