Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2010, 18:01
Trasgo09
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
Cliente-Servidor C# (abrir form)

Buen dia!! Primero agradecer a esta gran comunidad por las muchas veces que sus exceletes respuestas me han ayudado!
El dia de hoy tengo una consulta respecto a C#, lo que deseo hacer es lo siguiente: (intentare ser lo mas claro posible)

Tengo un servidor al cual le colocare una aplicacion de Windows hecha en c# la cual pues se conecta a una base de datos que se encuentra en el servidor y tiene muchas aplicaciones y muchos forms, etc, etc.
En otras palabras un programa completo que fue diseñado para ser utilizado como programa de escritorio.

Ahora este programa debe de estar corriendo en varias computadoras a la vez, por lo cual desearia implementar una arquitectura cliente servidor.

Mi pregunta en concreto es como puedo abrir esta aplicacion en las diferentes maquinas?

Estaba pensando en usar sockets de la siguiente manera:

Código:
//Para poder usar sockets
using System.Net;
using System.Net.Sockets;

//obtenemos la IP de la computadora local
IPAddress direc = Dns.GetHostEntry("localhost").AddressList[0];

//
//El puerto no importa
IPEndPoint Ep = new IPEndPoint(direc, 12345);

//Creamos el socket
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
/*
AddressFamily.InterNetwork: Esto indica que la direccion es para una IP v4 (xxx.xxx.xxx.xxx)

SocketType.Stream: Es el tipo de socket, hay varios tipos.

ProtocolType.Tcp: Es el potocolo que se usara.
*/

//comenzamos a escuchar por el puerto 12345
try
{
   socket.Bind(Ep); //lo anclamos al puerto 12345
}
catch(SocketException)
{
//si aqui hay error es que ese puerto esta en uso
}

socket.Listen(10); //longitud máxima de la cola de conexiones pendientes

while (no alcance las 10 conexiones)
{
connSocket.BeginAccept(new AsyncCallback(OnAccept),connSocket);

//**********************
abrimos el form.
//**********************

}
Ahora, no se si es manera correcta ni como abrir la aplicacion...

Esa manera se me habia ocurrido a mi, no se si habran otras mejores o si de esta manera es posible y me ayudan.

Saludos!!