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


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Sockets C#: Multiples Conexiones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sockets C#: Multiples Conexiones  (Leído 2,752 veces)
9ttnix

Desconectado Desconectado

Mensajes: 93


The knowledge is power


Ver Perfil
Sockets C#: Multiples Conexiones
« en: 29 Mayo 2013, 23:11 pm »

Hola amigos

Tengo un codigo que hice a base de leer y ver videos acerca de como programar sockets pero aunque entiendo mas o menos el funcionamiento, me gustaria saber como aceptar multiples conexiones. Tengo lo siguiente:

Código:
class Program
  {
    static CSocketServer m_servidor;
    static void Main(string[] args)
    {
      m_servidor = new CSocketServer();
      m_servidor.Iniciar(0);
    }
  }

public class CSocketServer
  {
    private Socket m_sckEscucha;
    private Socket m_sckConexion;

    private IPAddress m_ip;
    private Int32 m_puerto = 32111;
    static Thread m_rec;
    private string m_conv = "";
    public string DireccionIP
    {
      get
      {
        IPHostEntry lIp = Dns.GetHostEntry(Dns.GetHostName());
        IPAddress[] ladd = lIp.AddressList;
        return ladd[ladd.Length - 1].ToString();
      }
    }
    public Int32 Puerto
    {
      get { return m_puerto; }
    }
    public void Iniciar(Int32 vPuerto)
    {
      if (m_puerto != vPuerto)
        m_puerto = vPuerto;

      m_rec = new Thread(RecibiendoData);
      Console.WriteLine("Servidor IP: " + DireccionIP);
      m_conv = "Servidor IP: " + DireccionIP + "\n";
      Console.WriteLine("Servidor Puerto [32111]:");
      string lpuerto = Console.ReadLine();
      try { m_puerto = Convert.ToInt32(lpuerto); }
      catch { m_puerto = 32111; }
      m_conv = m_conv + "Servidor Puerto: " + m_puerto + "\n";
      m_ip = IPAddress.Parse(DireccionIP);
      m_sckEscucha = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
      m_sckEscucha.Bind(new IPEndPoint(m_ip,m_puerto));
      m_sckEscucha.Listen(0);
      m_conv = m_conv + "Servidor Estado: Iniciado\n-----------------------------------\n\n";
      Console.Clear();
      Console.WriteLine(m_conv);
      m_sckConexion = m_sckEscucha.Accept();
      m_rec.Start();
      string lmen = "";
      do
      {
        lmen = Console.ReadLine();
        byte[] sdata = Encoding.Default.GetBytes(lmen);
        m_sckConexion.Send(sdata, 0, sdata.Length, 0);
        m_conv = m_conv + "Servidor: " + lmen + "\n";
        Console.Clear();
        Console.WriteLine(m_conv);
      } while (lmen != "exit");
    }
    private void RecibiendoData()
    {
      string lmen = "";
      do
      {
        if (!m_sckConexion.Connected)
          return;

        Thread.Sleep(500);
        byte[] sdata = new byte[255];
        Int32 rec = this.m_sckConexion.Receive(sdata, 0, sdata.Length, 0);
        Array.Resize(ref sdata, rec);
        lmen = Encoding.Default.GetString(sdata);
        m_conv = m_conv + "Cliente: " + lmen + "\n";
        Console.Clear();
        Console.WriteLine(m_conv);
      } while (lmen != "");
    }
  }
Todo lo tengo metido casi en Iniciar() y me gustaria saber como puedo hacer para recibir multiples conexiones, como detectar cada conexion entrante, cuando se desconecta, cuando esta enviando data, y tambien como enviar archivos.

Saludos


En línea

The knowledge is power
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda cliente-servidor, multiples conexiones, administrador de conexiones
Programación Visual Basic
-Xenon- 8 5,594 Último mensaje 14 Enero 2006, 14:44 pm
por -Xenon-
Conexiones multiples
Programación Visual Basic
demoniox12 5 2,643 Último mensaje 7 Diciembre 2007, 15:06 pm
por demoniox12
Administrar múltiples sockets « 1 2 »
Análisis y Diseño de Malware
.:UND3R:. 14 8,275 Último mensaje 16 Febrero 2014, 07:14 am
por Vaagish
Abrir multiples conexiones Sockets C « 1 2 »
Programación C/C++
mester 13 7,238 Último mensaje 11 Noviembre 2015, 19:21 pm
por ivancea96
[Sockets] Conexiones múltiples de clientes a servidor.
Programación C/C++
Zodiak98 6 5,682 Último mensaje 25 Enero 2016, 00:42 am
por sodark
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines