elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / Re: [C#]Problema con Sockets + Formularios en: 8 Noviembre 2009, 00:33 am
Tal vez ya sea un poco tarde pero este problema le puede surgir a mas de una persona.
Bueno lo que tendrias que usar aqui seria un hilo y para esto debes usar el espacio de nombres System.Threading los hilos permiten ejecutar tareas paralelas para seguir normalmente el funcionamiento del programa sin esperar la terminacion de otra bueno estos son los pasas para hacerlo.

1.-Agregar el espacio de nombres asi Using System.Threading.
2.-Crear un metodo void donde se hace la conexion y donde se pretende escuchar al cliente.
Private void conexionconhilo()
  {
         IPAddress direc = Dns.GetHostEntry("localhost").AddressList[0];     
         IPEndPoint Ep = new IPEndPoint(direc, 1235);     
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(Ep);       
socket.Listen(100);   
Socket handler = socket.Accept();
//abajo siguen las demas lineas...
  }


3.-Ahora declaramos un artibuto de la clase Threading.

 Private Threading hiloaux;

4.-Por ultimo en el boton donde quieran hacer la conexion on el load del programa procederemos a utilzar el hilo hilo axiliar.

ThreadStart hiloxd = new ThreadStart(conexionconhilo);
            hiloaux = new Thread(hiloxd);
            hiloaux.Start();


Bueno creo que eso es todo  si desearan obtener el nombre del servidor de forma que no sepan cual es el nombre cree este metodo espero y les sirva en algo.

1.-Agregamos el espacio de nombres using Microsoft.Win32.

2.-Creamos un metodo el cual nos devolvera el nombre del servidor o del equipo.

Private string nombredelequipo()
  {
    string x =""
 RegistryKey reg = Registry.LocalMachine.OpenSubKey (@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", true);
reg1.OpenSubKey("RegisteredOwner",true);
x= reg.GetValue("RegisteredOwner").ToString();//Obtenemos el nombre del equpo y se lo asignamos a x.
return x;
}


3.- Ahora agregamos el metodo:
IPAddress direc = Dns.GetHostEntry(nombredelequipo()).AddressList[0];

Bueno eso fue mi pequeño aporte espero que a alguin le sea util. :D


Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines