Cable de red desconectado ¿como saberlo?

ricksoft
12 de Agosto del 2005
Salu2

Estoy haciendo un software para un cyber hecho claro en VB6 con el control Winsock, funciona casi bien sino fuera por el casi, bueno me explico, las multiples conexiones funcionan bien se conectan se desconectan con normalidad, incluso el programa sabe cuando alguien desconecta el cable de red, pero el lio viene cuando los clientes envian los tiempos al servidor, pues en el servidor los tiempos no estan sincronizados; digamos que al cliente le quedan 00:51:12 el servidor muestra 00:51:13 osea con retrazo en un segundo

La idea es que el programa sepa cuando se deconecto el cable de red sin perjudicar en la sincronizacion de los tiempos entre los clientes y el servidor.

Gracias de antemano por la ayuda
Rick

PD: Si alguien esta desarrollando un proyecto serio en VB6 para cybercafes yo voy casi terminando podriamos compartir ideas o trabajar juntos en el codigo fuente.

Pablo
12 de Agosto del 2005
Tendrías que manejar todas las sincronizaciones horarias desde el Server, como? al enviar la autorización y el cliente comenzar a trabajar, que le envié un dato, solo uno.....siempre usas esa cadena como referencia, le podes concatenar la IP de la otra PC, no se, lo que sea. Luego al desconectarse que lo vuelva a hacer, y listo el Server controla los tiempos, esto te evita si por casualidad una PC este con poca energía en la pila del bios, ya sabrás lo que esto provoca....... Yo estoy haciendo una aplicación de Administración de Visitas para empresas, ya hay una Empresa que la esta utilizando, entre las cosas que incorpore esta la posibilidad de tener un cliente (recepción) y entre los dos soft. "chatean", el problema que tengo es que estoy limitado (por falta de conocimiento) a realizar múltiples sesiones, por ende solo puede haber una solo PC Administradora y otra Cliente....uso el OCX Winsock, ya use las APIS (consume más recursos). Tenes como puedo crear las múltiples sesiones con el OXC Winsock???? para tener dos o tres Administradores (uno en cada puerta de la empresa) y varios Clientes????
Te agradezco tu ayuda, y espero que te sirva mi pequeña colaboración.

reventador
12 de Agosto del 2005
hola Pablo, lo que debes hacer es poner un control Winsock en el que su puerto siempre en escucha mediante el método Listen. De esta forma, cuando algún ordenador se conecte a ese puerto se ejecutará el evento ConnectionRequest del Winsock. En este evento debes poner código para crear un control winsock dinámicamente y a ese control nuevo le pasas la conexión Id del evento ConnectionRequest mediante el método Accept.
Con esto, el control Winsock que recibirá (y al que enviarás) todos los mensajes del otro ordenador es el nuevo Winsock que has creado dinámicamente, yo te aconsejo que hagas una matriz de controles.
Hay muchos ejemplos de esto por la red.

Un saludo

Pablo
12 de Agosto del 2005
MUCHAS GRACIAS!! Reventador.... tengo que investigar un poco el tema de trabajar con matriz objetos, si tienes un ejemplo te lo agradezco, de todas formas gracias.

reventador
12 de Agosto del 2005
hola de nuevo Pablo, lo que te voy a copiar a continuación está en la MSDN para el Visual Basic 6, y demuestra cómo hacer una matriz de Winsocks para aceptar múltiples conexiones. En el Form debes tener un Winsock que será el que siempre estará en escucha y otro con su propiedad Index a 0, que será el primero de la matriz dinámica.


Private intMax As Long

Private Sub Form_Load()
intMax = 0
sckServer.LocalPort = 1001
sckServer.Listen
End Sub

Private Sub sckServer_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load sckMultiple(intMax)
sckMultiple(intMax).LocalPort = 0
sckMultiple(intMax).Accept requestID
Load txtData(intMax)
End If
End Sub



He cambiado un poco el código que sale en la MSDN, ya que el código que viene es para un solo Winsock en el que el de indice 0 es el que siempre está en escucha, tú eliges como hacerlo.

Un saludo.

edgarin
12 de Agosto del 2005
oye reventador, q significa eso de: Load txtData(intMax)
se decir, q es txtdata, de donde sale.


Pablo
12 de Agosto del 2005
Fenomenal, gracias...... miren... encontre este Download: www.reparala.net/programas/ctbios.zip está muy bueno, espero que le sirva a alguien más.
Reventador, le sacare provecho a tu ayuda, muchas gracias! y Saludos!!!

Pablo
12 de Agosto del 2005
PERDON!!! la URL que puse antes es cualquiera, nada que ver, pegue lo que tenia en el porta papeles y le pifie!!! acá va la verdadera: www.vetustasl.com/jrubi/resumen/winsock1.zip
Lo anterior es un soft. que abre una pantalla MS/DOS y nos dice el BIOS que tenemos, no da muchos detalles.... pero si le sirve a alguien en hora buena!!! Saludos...

victor
12 de Agosto del 2005
hola men sabes te cuento que yo tambien quiero construir un programa para ciber cafes pero tengo un problema con la conexiones multiples, pero lo que me molesta un poco en realidad es la dministracion de las conexiones, por que yo ejecuton los formulaios clientes a la vez y me aparece respuesta en el form server, como conectados pero en realidad, el que me responde es el primer form que se conecto mientras que los demas solo estan conectados, te AGRADECERIA MUCHO QUE ME PUEDAS AYUDAR CON EL CODIGO PARA LAS MULTIPLES CONEXIONES Y COMO LAS EMPLEAS PARA CADA FORM CLIENTE GARCIAS

VICTOR ROBLES