SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: betitono1 en Martes 3 de Febrero de 2004, 14:49

Título: Tomar Informacion De Un Clientsocket
Publicado por: betitono1 en Martes 3 de Febrero de 2004, 14:49
Hola que tal he lo grado hacer una aplicacion que detecta cuando el ciente e conecta y el cliente le envia una cadena al servidor y este se la regresa invertida, ahora lo que no encuentro es saber la ip del cliente, nombre de la máquina y demas atributos del sistema, alguien sabe como hacerlo?, se los agradeceria.


Saludos.
Título: Re: Tomar Informacion De Un Clientsocket
Publicado por: _Viktor en Martes 3 de Febrero de 2004, 16:21
Hola, el nombre del Pc y su Ip la puedes obtener mediante sockets, de la siguiente forma:

Código: Text
  1.  for(int i=0;i<Server->Socket->ActiveConnections;i++)
  2.    {
  3.     String sNombre = Server->Socket->Connections[i]->RemoteHost;
  4.     String sIp = Server->Socket->Connections[i]->RemoteAddress;
  5.     ListBox1->Items->Add("Equipo: "+sNombre+" - Ip: "+sIp);
  6.    }
  7.  

Ya el resto de la informacion que quieres tienes que obtenerla localmente y enviarsela al serversocket desde el clientsocket...

Saludos!
Título: Re: Tomar Informacion De Un Clientsocket
Publicado por: © Jonathan © en Martes 17 de Febrero de 2004, 14:08
Hola Viktor_ ... podrias decirme como copiar un texto que se encuentra en la form2 dentro de un Edit1, en un (String sNombre)... que se encuentra dentro de la Form1... no puedo lograr hacerlo, de la forma en que lo hago me dice que no se ha declarado sNombre en Form2 :( ... Ayuda!!!... Gracias y Saludos :hola:
Título: Re: Tomar Informacion De Un Clientsocket
Publicado por: _Viktor en Jueves 19 de Febrero de 2004, 08:11
Para eso solo tienes que usar la definicion de objeto y datos miembros, es decir, en la parte publica de la clase TForm1 pones lo siguiente:


Código: Text
  1. //Unit2.h
  2.  
  3. public: //user declarations
  4.   String sNombre
  5.  

Con lo que ya pasa a ser parte de esa clase. Luego en el Form1 incluyes el archivo cabecera de la clase mencionada anteriormente, es decir

Código: Text
  1. #include "Unit2.h"
  2.  

Asi solo tendrias que acceder al dato miembro sNombre de TForm2 de la siguiente foma:

Código: Text
  1. Edit1->Text = Form2->sNombre
  2.  


Espero sea eso lo que quieres, ya que asi lo entendi.

Saludos!