FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Aplicación CyberCafe
Buenas Gente, estoy realizando una aplicación para un CyberCafe con componentes Indy 9 (la version no me la acuerdo pero creo que es la 9).
Mi inquietud es la siguiente, cual sería la mejor forma para obtener en el server la maquinas conectadas. Porque puedo guardar la conexión entre el server y el client sin mayores problemas, pero cuando una persona viene a usar una PC y quiere usar la PC 5 este numero 5 como lo relaciono de la mejor manera con la PC que corresponde?.. Lo que hice fue lo siguiente, los idTCPClient e idTCPServer los comunico por un string serealizado en el cual tengo todos los datos que necesito. Luego en el server creo una Lista de maquinas conectadas la cual contiene como uno de sus elementos el tipo TIdpeerThread que es la conexión entre el server y el client. Hasta acá todo perfercto, recibo el logueo de las maquinas, y todo pero mi problema es cuando el Servidor tiene que Habilitar, Deshabilitar o Apagar las PC, como reconozco a cada una si es que las guardo en un ListBox como un string. La red puede ser con IP fijo o variable, eso no es problema.. Espero que se haya entendido el problema, y me puedan orientar en eso.. |
#2
|
||||
|
||||
Hola Bocaju... digo RiverPlate!
Sabiendo que el TCPServer crea un TIdPeerThread por cada cliente conectado, podrías crear tu porpia clase del tipo TIdPeerThread con todas las propiedades que necesites, y asignarle al Server.ThreadClass tu clase. De esta manera cada vez que se conecte un nuevo cliente, este creará una instancia de esa clase, y puedes asignarle valores o ejecutar métodos propios de tu diseño. Otra forma mas sencilla es utilizar la propiedad Data del TIdThread para almacenar un objeto con los datos que necesites. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Siguiendo con el inconveniente
Si yo creo una lista con el IdPeerThread con el cual me comunico perfectamente con las maquinas clientes y puedo hacer lo que quiero, mi problema es mas sencillo solo que en este momento no se me ocurre como hacerlo, paso a explicar:
Vamos a poner el ejemplo que la operadora del cyber ve esto en un listbox que corresponde a las maquinas conectadas en la red: 1 2 4 6 9 esos numero corresponden al numero de maquina que el dueño del cyber le da a cada maquina, mi problema es que esos numeros ¿como los asigno a cada maquina?, o sea, hasta ahora para ir probando el programa, directamente use un edit apenas abre el programa cliente y ahí le asigno yo un numero de maquina cualquiera y me conecto al server, pero esto debe ser de forma automática y puede/debe poder cambiarse al gusto del dueño cuando quiera o quedar fijo por el resto de la vida del cyber. P.D: debo estar con la cabeza muy quemada para hacer estas preguntas pero debe ser por el calor, sepan disculpar.. Espero que se entienda mi pregunta y gracias por Contestar.. |
#4
|
||||
|
||||
Podes hacerlo de muchas formas, una sencilla que se me ocurre es que las máquinas tengan un IP fijo, y las identifiques al comparar el IP con una tabla. Otra opción puede ser por la MACAddress, esto no cambiará nunca a no ser que cambies el hardware de Red (Tengo un sistema que identifica las terminales a travez de un método similar). Otra opción puede ser que en la configuración de cada máquina, exista algún ID que envíes antes de "Loguear" la máquina a tu sistema, y mantenerlo del lado del servidor con lo que te expliqué antes.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
Como obtengo el numero de MAC de la placa de red?
Hola, antes que nada gracias por responder, si yo pense en lo mismo que decis vos y antes de hacer una BD con los numeros de IP prefiero hacer una BD con los numeros de MAC... el procedure para obtener los IP ya lo tengo pero no me sirve de nada, ¿tenes el código del procedure para levantar los numeros de MAC de alguna de las terminales ? ( puede ser de manera local o sea que se fije en la placa de la misma maquina y lo tenga de ahí y despues yo se lo mando al server eso no es drama).
Un abrazo y gracias por contestar, ya lo tengo casi listo... solo falta empezar a facturar jajaja |
#6
|
||||
|
||||
Acá tenes algún ejemplo de como obtener el MACAddress http://delphi.cartall.com.pl/Pytania/pyt100.htm
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|