Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2005
RiverPlate RiverPlate is offline
Miembro
 
Registrado: dic 2004
Posts: 17
Poder: 0
RiverPlate Va por buen camino
Question 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..
Responder Con Cita
  #2  
Antiguo 19-01-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 20-01-2005
RiverPlate RiverPlate is offline
Miembro
 
Registrado: dic 2004
Posts: 17
Poder: 0
RiverPlate Va por buen camino
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..
Responder Con Cita
  #4  
Antiguo 20-01-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 22-01-2005
RiverPlate RiverPlate is offline
Miembro
 
Registrado: dic 2004
Posts: 17
Poder: 0
RiverPlate Va por buen camino
Talking 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
Responder Con Cita
  #6  
Antiguo 24-01-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:18:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi