• Jueves 25 de Abril de 2024, 11:12

Autor Tema:  Duda Con Sockets  (Leído 1849 veces)

BAMA

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Duda Con Sockets
« en: Miércoles 26 de Enero de 2005, 16:09 »
0
Buenos Dias, Les escribo para encontrar respuesta a mi duda, Estoy trabajando con una clase socket en C# la cual tiene los siguietes metodos: abrir socket, recibir por el socket, enviar por el socket y cerrar socket. En estos momentos he logrado que funcione para enviar y recibir mensajes entre dos host, el problema que tengo es cuando quiero utilizar un host como "servidor" para enviar mensajes a todos los demas host de la red utilizando la direccion de broadcast; logro enviar el mensaje y los clientes lo reciben pero el problema es cuando trato de enviar la notificacion (mensaje) a esta "aplicacion servidor" desde los clientes con el socket que esta abierto con la direccion de broadcast y la "aplicacion servidor" no lo recibe. mi pregunta es> como debo hacer para que la "aplicacion servidor" reciba estos mensajes de notificacion por parte de los clientes.
BAMA.
Ccs, Vzla.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Duda Con Sockets
« Respuesta #1 en: Jueves 27 de Enero de 2005, 02:12 »
0
deberia funcionar normalmente
salvo que sea alguno de esos sockets unidireccionales..
no se
seria bueno que postearas algo de codigo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

BAMA

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Duda Con Sockets
« Respuesta #2 en: Jueves 27 de Enero de 2005, 14:02 »
0
Saludos, gracias por responder!. Aqui mando el metodo que utilizo para abrir el socket:

public bool OpenServerSocket(ref System.Net.Sockets.Socket ServerSocket,string ServerConnect,string ServerBind, int portConnect,int portBind,ref ClassGeneral.ErrType ErrorType,ref byte ErrorCode,ref System.Exception Ex)
     {
           IPHostEntry iphe = null;
           IPHostEntry iphe2 = null;
           if(ServerSocket!=null)
           {
                 ErrorType = ClassGeneral.ErrType.Socket;
    ErrorCode = 4;
    return false;
            }
            else
            {
    try
                 {
          iphe = Dns.Resolve(ServerConnect);
          iphe2 = Dns.Resolve(ServerBind);
                       foreach(IPAddress ipad in iphe.AddressList)
          {
               IPEndPoint ipe = new IPEndPoint(ipad, portConnect);
               Socket tmpS = new Socket(ipe.AddressFamily,  
                                                                     SocketType.Raw,
                                                                     ProtocolType.Udp);
                foreach(IPAddress ipad2 in iphe2.AddressList)
                {
        IPEndPoint ipe2 = new IPEndPoint(ipad2, portBind);
        tmpS.Bind(ipe2);
                }
                 tmpS.Connect(ipe);
                              if(tmpS.Connected)
                 {
         ServerSocket = tmpS;
         break;
                 }
                 else
          continue;
              }
        return true;
                  }
   
     catch(Exception AuxEx)
     {
           ErrorType = ClassGeneral.ErrType.Socket;
           ErrorCode = 1;
           Ex = AuxEx;
           return false;
      }
            }

      }


Ok Aqui esta el codigo,  :comp:, los parametros errortype y errorcode son los que utilizo para el manejo de errores, por si acaso alguna confusión.
BAMA.
Ccs, Vzla.

BAMA

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Duda Con Sockets
« Respuesta #3 en: Viernes 28 de Enero de 2005, 21:20 »
0
Amigos Saludos, ya logre resolver el problemita. Utilice la clase MultiCastOption y logre que un mensaje pueda ser enviado y recibido por todas las maquinas de la red.  :kicking:
BAMA.
Ccs, Vzla.