Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Síguenos:
Crear foro Crear foro Crear foro

Comparte | 
 

 Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Luis Garcia
STAFF TEAM
STAFF TEAM


Mensajes : 61
Puntos : 109

MensajeTema: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Dom Abr 17, 2011 7:26 pm

Sockets-> Cliente-Servidor

Mini-Chat

Servidor:

[Tienes que estar registrado y conectado para ver esa imagen]

Cliente:

[Tienes que estar registrado y conectado para ver esa imagen]

Empezaremos por crear el proyecto servidor, que se encargará de recibir a los programas clientes conectados.

Antes de empezar necesitamos los siguientes "using" para el uso de sockets:
Código:

using System.Net.Sockets;
using System.Net;

Dentro de nuestra clase tendremos un objeto de tipo tcplistener que será quien reciba las conexiones entrantes atraves de la red, un objeto tipo tcpclient que será donde se almacene el cliente una vez aceptado por el servidor, y un timmer que nos servirá para escuchar continuamente hasta que se conecte el cliente.
Código:

TcpListener servidor = new TcpListener(IPAddress.Any, 666);
TcpClient cliente_aceptado = null;
Timer tmrEscuchar = new Timer();

public Form1()
  {
        InitializeComponent();
          tmrEscuchar.Tick += new EventHandler(tmrEscuchar_Tick);
    }

Ahora dentro del evento tick del timmer colocamos el código para obtener las conexiones:
Código:

    if (servidor.Pending()) // Determina si hay conexiones pendientes
            {
                TcpClient cliente = servidor.AcceptTcpClient();
            }

Para ejecutar el codigo insertamos un boton y en su evento click:
Código:

servidor.Start();
tmrEscuchar.Start();

Ahora continuamos con el cliente:

Agregamos las "using":
Código:

using System.Net.Sockets;
using System.Net;

En la clase agregamos un objeto de tipo tcpclient, el cual será el cliente que se conectará al servidor.
Código:

public static TcpClient Cliente = new TcpClient();

Ahora agregamos un boton y en el evento click del boton:
Código:

try
{
Cliente.Connect(IPAddress.Parse("127.0.0.1"), 666);//Conectar a  servidor por el puerto 666
}
catch (Exception) { lblEstado.Text = "Desconectado"; }

/* Hasta aquí el ejemplo de conexion Servidor-Cliente 1 a 1*/
Ahora crearemos una clase nueva a la que le agregaremos algunos metodos para enviar cadenas a través del socket, de esta manera será más facíl el envio de cadenas a través del socket.

Creamos una clase nueva en el proyecto servidor, cabe mencionar que la clase tendrá que copiarse tal cual al ejemplo cliente para ocuparla de igual forma en las dos partes (cliente-servidor).

En la clase necesitamos las "using":
using System.Net.Sockets;
using System.IO;//Para escritura y lectura de "streams"

Dentro de la clase crearemos el metodo:

Código:

 public static void Enviar(TcpClient cliente, String Dato)
        {
            try
            {
                NetworkStream netstream = cliente.GetStream();
                StreamWriter escribir = new StreamWriter(netstream);
                escribir.WriteLine(Dato);
                escribir.Flush();
            }
            catch (Exception) { }
        }

En este metodo recibimos una conexion de tipo tcpClient y apartir de el creamos un streamWriter para escribir sobre el "stream" del socket.

Este metodo nos sirve para enviar ahora en la parte de abajo crearémos un metodo para recibir las informacion enviada:
Código:


public static String Recibir(TcpClient cliente)
        {
            try
            {
                NetworkStream netstream = cliente.GetStream();
                StreamReader leer = new StreamReader(netstream);

                return leer.ReadLine();
            }
            catch (Exception) { return ""; }
        }

Recibimos el string o mensaje desde un socket.

Ahora que tenemos la clase en mi caso "ER" (EnviarRecibir) estatica para enviar información a través de un socket copiada en los dos proyectos (cliente-servidor), proseguimos con la implementación en nuestro código ejemplo.

Crearemos un tipo de chat entre servidor y cliente para mostrar el envio y recepcion de mensajes.

En ambos proyectos agregamos los siguientes controles a parte de los que ya teniamos:
-un boton (para enviar)
-un ritchTextBox (para visualizar conversacion)
-un textBox (para escribir el mensaje)

--->
Vamos al proyecto servidor.

Para enviar el mensaje al cliente:

En el evento click del boton para enviar:
Código:

if (txtMensaje.Text != "")
  {
      ER.Enviar(cliente_aceptado, txtMensaje.Text);//Enviar mensaje
      rtbConversacion.Text += "Yo: " + txtMensaje.Text + "\n"; //Efecto de conversación
      txtMensaje.Text = "";
  }

Para recibir mensaje:

En el programa servidor justo debajo de el "timmer" tmrEscuchar creamos un segundo timmer para recibir información desde el cliente.

Código:

Timer tmrRecibir = new Timer();

En el evento Tick del timmer:
Código:

 try {
 if (cliente_aceptado.Available>0)//Si hay informacion disponible que leer
  {
    rtbConversacion.Text+="Servidor: "+ ER.Recibir(cliente_aceptado)+"\n";
    }
  }
  catch (Exception)
 {        }

Para el programa cliente repetimos exactamente los mismos pasos para envio y recepción de mensajes desde la marca "--->".

Suponiendo que agregamos los controles en ambos proyectos, estos tienen los mismos nombres en ambos en este ejemplo.

Pasos:
-Copiar clase ER a proyecto cliente
-Agregar controles
-Agregar timer para recibir
-Envio de mensajes
-Evento click del boton para envio
-Evento Tick para recepcion de cadenas desde el servidor

Ahora solo falta agregar el inicio del timer, para empezar a recibir, esto lo hacemos colocando en el programa servidor
Código:

...
if (servidor.Pending()) // Determina si hay conexiones pendientes
 {
Cliente = servidor.AcceptTcpClient();// Hasta aqui tenemos
tmrRecibir.Start();//<- Agregado
...

En el programa cliente despues de conectarse:
Código:

...
Cliente.Connect(IPAddress.Parse("127.0.0.1"), 666);//Conectar a servidor por el puerto 666
//<-Hasta aqui tenemos y agregamos lo siguiente
                if (Cliente.Connected)
                {
                    tmrRecibir.Start();
                }
...

Ahora tenemos todo listo para correr nuestos proyectos.

Proyectos->

Servidor: [Tienes que estar registrado y conectado para ver este vínculo]
Cliente: [Tienes que estar registrado y conectado para ver este vínculo]

Nota: los descargables estan realizados en Visual Studio 2010 por lo tanto si tienes una version anterior probablemente no compile como debería.

Volver arriba Ir abajo
Ver perfil de usuario
coxitas
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Dom Mayo 15, 2011 2:14 pm

jeje no maches me sirvio. estas tigre Surprised
Volver arriba Ir abajo
Ver perfil de usuario
maxsteel
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Sáb Jun 25, 2011 1:51 pm

Hola, el código esta bastante bueno, consulta este servidor acepta varias conexiones simultaneas? saludos. patricio
Volver arriba Ir abajo
Ver perfil de usuario
Saren12
Novato


Mensajes : 2
Puntos : 2

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Lun Jun 04, 2012 9:12 pm

porfavor subelo a otro servidor mataron a megaupload

gracias
Volver arriba Ir abajo
Ver perfil de usuario
hugopayo
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Jue Jun 21, 2012 11:58 am

es aplicable para multiclientes?? alguien tiene el proyecto?? arnau-estanyol @ live.com.mx plissss gracias..!
Volver arriba Ir abajo
Ver perfil de usuario
estv_machine
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Dom Jun 24, 2012 1:48 pm

Xuta creo que entendi pero no me salio iwal xd. Oye sabes tus links estan caidos, podrias ayudarme con esto?. mi email es "esteban.campos@usach .cl". Saludos.
Volver arriba Ir abajo
Ver perfil de usuario
Luis Garcia
STAFF TEAM
STAFF TEAM


Mensajes : 61
Puntos : 109

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Dom Jun 24, 2012 11:54 pm

estv_machine escribió:
Xuta creo que entendi pero no me salio iwal xd. Oye sabes tus links estan caidos, podrias ayudarme con esto?. mi email es "esteban.campos@usach .cl". Saludos.

Los links estan resubidos por ahora en la carpeta:

[Tienes que estar registrado y conectado para ver este vínculo]

Saludos,
LAGG
Volver arriba Ir abajo
Ver perfil de usuario
AZALY
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Lun Jul 02, 2012 8:15 am

Tu me ayudarías con el nombre de las carpetas es que no lo encuentro

Muchísimas gracias

Volver arriba Ir abajo
Ver perfil de usuario
angelmukul
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Mar Jul 24, 2012 10:49 am

SIIIII!!! CUAL ES EL NOMBRE DE LA CARPETA !!!
Volver arriba Ir abajo
Ver perfil de usuario
Ariday
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Dom Nov 10, 2013 9:11 pm

esta muy interesante...me gustaria aprender mas..... !! asi como quisieraa descargar ese proyecto para basarme!! Ayuda
Volver arriba Ir abajo
Ver perfil de usuario
ociam
Novato


Mensajes : 2
Puntos : 2

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Vie Nov 29, 2013 12:42 am

AMIGO GRACIAS POR TU APORTE ,, ME GUSTARIA SABER SI ME PUEDE AYUDAR A PASAR IMAGENES DEL SERVIDOR A CLIENTE Y DE CLIENTE A SERVIDOR ES DECIR, EN EL SERVIDOR SE MUESTRE LA FOTO QUE CARGO EN EL CLIENTE Y VICEVERZA
Volver arriba Ir abajo
Ver perfil de usuario
ociam
Novato


Mensajes : 2
Puntos : 2

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Vie Nov 29, 2013 1:00 am

AMIGO COMO MUESTRO IMAGENES DEL SERVIDOR AL CLIENTE Y VICEVERZA. ES DECIR LA QUE CARGO EN EL CLIENTE SE MUESTRE EN EL SERVIDOR Y VICEVERZA
Volver arriba Ir abajo
Ver perfil de usuario
anamiyuki
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Jue Abr 24, 2014 5:26 pm

hola, gracias por el aporte, me sirvio mucho, ahora solo que tengo una duda. He tratado de conectarlo desde otra PC y no me funciona, quisiera saber si tengo que cambiarle el puerto, o que ip es la que se debe de cambiar. Ya que le movi hasta quebrarme la cabeza pero no eh logrado conectarlo, te agradeceria si pudieras aconsejarme. Saludos XD
Volver arriba Ir abajo
Ver perfil de usuario
martinch93
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Mar Abr 29, 2014 9:14 pm

nesecito el codigo de ese chat xfavor urgente Neutral Neutral 
Volver arriba Ir abajo
Ver perfil de usuario
rik2345
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Vie Jun 27, 2014 6:29 pm

Como utilizar en lan?
Volver arriba Ir abajo
Ver perfil de usuario
gaznapiro
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Sáb Dic 06, 2014 1:15 am

hola
Volver arriba Ir abajo
Ver perfil de usuario
iTattoo
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Lun Jul 27, 2015 9:12 am

Disculpa xfavor puedes subir los archivos de nuevo xfa
Volver arriba Ir abajo
Ver perfil de usuario
mgolivares
Novato


Mensajes : 2
Puntos : 2

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Jue Ago 06, 2015 6:43 pm

Hola tengo problemas para descargar el código del ejemplo, lo podrías compartir nuevamente, estoy haciendo el ejemplo pero desde consola y aún tengo dudas.
Gracias-.
Volver arriba Ir abajo
Ver perfil de usuario
mgolivares
Novato


Mensajes : 2
Puntos : 2

MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Jue Ago 06, 2015 6:43 pm

Hola tengo problemas para descargar el código del ejemplo, lo podrías compartir nuevamente, estoy haciendo el ejemplo pero desde consola y aún tengo dudas.
Gracias-.
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)   Hoy a las 11:01 am

Volver arriba Ir abajo
 
Sockets Conexion,Envio y recepcion de datos (mini-chat Cliente-Servidor)
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Mini chat en mi foro
» Dudas sobre conexión de datos.
» SMARTPHONE CON CONEXION COMPARTIDA O HOTSPOT
» Paquete de datos TM400
» ¿Se puede configurar para que los datos (3G) no se desconecten al apagar la pantalla?

Permisos de este foro:No puedes responder a temas en este foro.
CSPromex :: PROGRAMACIÓN EN C# :: Código abierto-
Cambiar a: