Foros del Web » Programación » .NET »

Cliente-Servidor C# (abrir form)

Estas en el tema de Cliente-Servidor C# (abrir form) en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/10/2010, 18:01
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 3 años, 9 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!!
  #2 (permalink)  
Antiguo 26/10/2010, 09:23
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 878
Antigüedad: 9 años, 9 meses
Puntos: 7
Respuesta: Cliente-Servidor C# (abrir form)

Hola Trasgo09 no es necesario que tu hagas eso, si tu tienes tu aplicación que contiene n formas o una sola forma, si esa aplicación la abren 100 maquinas y todas abren la misma pantalla no hay ningun problema.

No se si eso responda a tu pregunta y de no ser asi comentalo...
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #3 (permalink)  
Antiguo 26/10/2010, 16:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 4
Antigüedad: 3 años, 9 meses
Puntos: 0
Respuesta: Cliente-Servidor C# (abrir form)

Estimado,
Hace unas semanas, estuve igual de mareado que tu con este tema y creo que para lo que tu necesitas lograr, te podrìa ayudar buscar algo sobre .NET Remoting o WCF... A grandes rasgos, lo que logras con esto es extender las fronteras de tu aplicaciòn servidor a fronteras remotas... es algo como si emularas estar en la misma maquina, pero de forma remota a traves de red... hay varios ejemplos re utiles.... En cuanto a socket... desde una opinion muy personal es muy util para trasladar packetes, pero creo que para esto, serìa algo mejor como lo que te propongo... Espero haber ayudado...

Saludos,

Sebastiàn
  #4 (permalink)  
Antiguo 28/10/2010, 13:16
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 3 años, 9 meses
Puntos: 0
Respuesta: Cliente-Servidor C# (abrir form)

Cita:
Iniciado por sramaciotti Ver Mensaje
Estimado,
Hace unas semanas, estuve igual de mareado que tu con este tema y creo que para lo que tu necesitas lograr, te podrìa ayudar buscar algo sobre .NET Remoting o WCF... A grandes rasgos, lo que logras con esto es extender las fronteras de tu aplicaciòn servidor a fronteras remotas... es algo como si emularas estar en la misma maquina, pero de forma remota a traves de red... hay varios ejemplos re utiles.... En cuanto a socket... desde una opinion muy personal es muy util para trasladar packetes, pero creo que para esto, serìa algo mejor como lo que te propongo... Espero haber ayudado...

Saludos,

Sebastiàn
Muchas gracias por tu respuesta, hoy mismo me pongo a buscar sobre lo que tu me comentas.
Igual yo tambien busque sobre sockets, que si son utiles, pero para lo que la necesito no me funcionan

mvazquez: tu te refieres a abrir todos la aplicacion pero desde un recurso compartido??
  #5 (permalink)  
Antiguo 29/10/2010, 21:27
 
Fecha de Ingreso: octubre-2010
Mensajes: 4
Antigüedad: 3 años, 9 meses
Puntos: 0
Respuesta: Cliente-Servidor C# (abrir form)

MMM... otra alternativa... que depende como este estructurado el server.. pero puede ser Usar un WebService del lado del server... y llamarlo desde tu aplicacion cliente como una referencia web... pero insisto, va a depender como lo tenga estructurado... también hay ene ejemplos de web service...

Espero ayudar,

Saludos
  #6 (permalink)  
Antiguo 27/12/2010, 03:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 3 años, 7 meses
Puntos: 0
Respuesta: Cliente-Servidor C# (abrir form)

Hola estoy intentado desarrollar algo parecido a lo que decis.

El cliente que se conecte al servidor (TCP/IP) debe enviar una trama de login, a la que el servidor debe responder ok si va bien y sino le pide que se registre.

El servidor debe responder en consecuencia de lo k haga el cliente. (mensaje alta, mensaje baja y poder guardar en un fichero log).

Estoy bastante perdido en el tema, me podeis ayudar o pasarme el codigo vuestro??? muchas gracias

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:57.
SEO by vBSEO 3.3.2