Tipos de conexión

27/05/2006 - 06:28 por Federico Ezequiel | Informe spam
Hola:

Hice un sistema con Visual Basic que tiene dos partes, un servidor y varios
clientes. El servidor se conecta con los clientes o viceversa mediante el
típico control winsock de VB. La interfaz tanto del servidor como del
cliente consiste básicamente en un pizarrón sobre el cual, quien maneja el
servidor escribe y al hacerlo, se envía mediante winsock una cadena que
dependiendo de como está constituida, escribe en los clientes: texto,
imágenes, etc. Los clientes también pueden escribir en el pizarrón. Siempre
utilicé este tipo de tecnología y nunca tuve problemas, pero ahora apareció
algo que no sé cómo solucionar. El servidor lo instalo en una máquina
cliente de una red local y esa red no reconoce ninguna IP que no forme parte
de la misma, de manera que no puedo usar la metodología que estuve usando
porque no logro salir de la red para conectarme con las otras máquinas.
Además, no puedo cambiar la configuración de la red ni tocar su servidor.
Lo que quería saber es si, considerando que tengo que manejarme en TIEMPO
REAL, que no cuento con la posibilidad de tocar la red ni su servidor y que
no puedo usar winsock ya que no sirve, ¿existe alguna solución a mi problema
usando ASP?
Muchas gracias.

Ezequiel
 

Leer las respuestas

#1 Dani Castillo
27/05/2006 - 09:42 | Informe spam
Sin tocar la red dificil :-S, lo habitual en estos casos es usar un servidor
de puente , el servidor (accesible desde internet y desde la red interna)
realiza conexiones puente entre los clientes (todos se conectan a el, el
server recoge las ordenes que enviaria tu pc conectado desde la red interna
y la reenviaria al cliente en la red externa o en la interna donde
estubiera) , no es complicado siempre que el servidor tenga una ip publica
en internet, o bien el router de salida a internet tenga ip fija y
redirigida la entrada por el puerto en cuestion al servidor

si no puedes tocar nada del server ni la red, lo tienes complicado, aunq no
imposible , pero vas a perder buena parte del tiempo real al que estas
acostumbrado, una opcion "posible" es en lugar de realizar las acciones por
'evento' (me llega una orden con un dibujo en la pizarra y lo reproduzco) es
actuar por 'polling' por encuesta, el cliente consulta cada x tiempo si hay
alguna orden nueva, el otro pc (el tuyo) va escribiendolas en algun lado
'comun', la encuesta de este tipo tiene dos problemas principales

1) no es tiempo real, dependes para la velocidad de la frecuencia con la que
muestrees

2) cargas la red: el cliente debe estar consultando si hay ordenes... aun
cuando no las haya, si la frecuencia es alta, el cliente saturara al
servidor (o si hay muchos clientes)


Supongo que el server lo tienes a mano para escribir asp :-) sino, dificill,
y que es accesible desde internet, la idea basica seria tener algunos asp,
un asp que reciba ordenes y las guarde en algun lado (fichero de texto, base
de datos, etc) y otro asp que consulta ese fichero o base de datos y una
vez leido lo 'limpia' para saber que esta cumplido (o bien otro asp de
borrado de ordenes pasadas)

tu escribirias en el fichero o base de datos

el cliente consultaria ese asp para saber si hay ordenes nuevas y las
ejecutaria, esa consulta puede ser bien por un webbrowser (y luego analizar
el contenido) bien por socket (protocolo http)

no es sencillo y los resultados te van a saber a poco, ya que la respuesta
es usualmente bastante lenta y a golpes (el cliente obtendra cada x segundos
una serie de ordenes y las hace todas seguidas)

suerte
dani
"Federico Ezequiel" escribió en el mensaje
news:
Hola:

Hice un sistema con Visual Basic que tiene dos partes, un servidor y
varios
clientes. El servidor se conecta con los clientes o viceversa mediante el
típico control winsock de VB. La interfaz tanto del servidor como del
cliente consiste básicamente en un pizarrón sobre el cual, quien maneja el
servidor escribe y al hacerlo, se envía mediante winsock una cadena que
dependiendo de como está constituida, escribe en los clientes: texto,
imágenes, etc. Los clientes también pueden escribir en el pizarrón.
Siempre
utilicé este tipo de tecnología y nunca tuve problemas, pero ahora
apareció
algo que no sé cómo solucionar. El servidor lo instalo en una máquina
cliente de una red local y esa red no reconoce ninguna IP que no forme
parte
de la misma, de manera que no puedo usar la metodología que estuve usando
porque no logro salir de la red para conectarme con las otras máquinas.
Además, no puedo cambiar la configuración de la red ni tocar su servidor.
Lo que quería saber es si, considerando que tengo que manejarme en TIEMPO
REAL, que no cuento con la posibilidad de tocar la red ni su servidor y
que
no puedo usar winsock ya que no sirve, ¿existe alguna solución a mi
problema
usando ASP?
Muchas gracias.

Ezequiel


Preguntas similares