Título: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 12 Marzo 2010, 22:40 pm Una red de computadoras (ordenadores) consiste en máquinas interconectadas mediante canales de comunicación. Estas máquinas son Hosts y Routers. Los Hosts son computadoras que ejecutan aplicaciones, por ejemplo un navegador. Los Routers son equipos cuyo trabajo es retransmitir información de un canal de comunicación a otro. Estos pueden ejecutar programas, pero normalmente no son aplicativos. Para este post un canal de comunicación es un medio de transmisión de secuencias de bytes de un host a otro, este puede ser broadcast, como Ethernet, un modem dial-up, o algo más sofisticado.
Otro término que tenemos que definir es Protocolo. Un protocolo es un acuerdo acerca de los paquetes intercambiados por comunicación de los programas y lo que significan, además describe como está estructurado, por ejemplo: donde está la información del destinatario en el paquete y de que tamaño es. Un ejemplo es Http (Hypertext Transfer Protocol) que resuelve el problema de transferir objectos hipertexto entre servidores y hacerlo entendible por personas. Ahora vamos directo al grano: ¿Qué es un Socket? Un socket es una abstracción que permite a la aplicación “enchufarse” a la red para poder recibir y enviar data. Los principales tipos de socket hoy en día son los Stream Socket y los Datagram Socket. Los Stream Sockets utilizan TCP e IP para proveer n servicio confiable. Los Datagram Sockets usan UDP. Otro concepto importante son el Stream Reader y el Stream Writer. Son clases que nos ayudan a escribir y leer del buffer del socket. Sino existieran habría que leer el buffer y escribir en él directamente, cosa que es un poco engorrosa e innecesaria para la mayoría de las aplicaciones. Código de ejemplo: Codigo Servidor Código
Codigo Cliente Código
Esto es un demo muy básico, pero funciona correctamente. Se le pueden añadir funcionalidades como multithreading para poder aceptar a varios clientes al mismo tiempo. Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: raul338 en 13 Marzo 2010, 00:31 am Muy lindo muy lindo..... (falta el pero :xD)
jaja... pense que habias puesto solo el servidor, despues leyendo bien pusiste el cliente (deberias separar el code), tienen que ser 2 proyectos verdad?.... Buen Aporte Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 13 Marzo 2010, 15:15 pm Gracias por la correción, ya separé los códigos, se me había olvidado!
:P Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: _LooSeR_ en 15 Marzo 2010, 05:54 am Gracias por el tuto ;)
Así da gusto! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: TomaSs en 29 Julio 2010, 01:26 am Una preguntilla D4N93R
y estas dos clases, la del cliente y la del servidor, tienen que estar en el mismo programa?? porque la del server utiliza la clase del cliente entonces tendrán que estar en el mismo, no? entonces que ejecuta el servidor y que ejecuta el cliente? Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 29 Julio 2010, 02:20 am Pueden estarlo, pero no es la idea xD, deben de estar en distintos programas, y en distintos equipos.. :)
Aunque pueden ser usadas en la misma aplicación. Si te fijas son solo dos clases, usas la clase correspondiente en la aplicación donde la necesites.. EDIT: Además es solo una demostración, a esas clases puedes agregarles eventos, métodos y propiedades para usarlas correctamente dentro de un proyecto. Un saludo! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: fary en 31 Julio 2010, 12:54 pm POorque no pones el codigo completo coon los using y todo? As provado el code y te funciona?
salu2! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 31 Julio 2010, 16:04 pm POorque no pones el codigo completo coon los using y todo? As provado el code y te funciona? salu2! Auhm, el código está completo, no le hace falta nada, si te refieres a probarlo, basta solo con crear dos proyectos, pegar eso y listo, debería correr usando el main como entrypoint. Este demo es muy sencillo ya que busca la comprensión para los que nunca hantes han realizado una connexión TCP en .Net, si lo quieres mejorar y agregarle funcionalidades multihilo o la capacidad de que el server acepte varios clientes ya se sale del tema, porque es nada más cuestión de modificarlo. Para qué quieres los using? son los de siempre, y si te hace falta alguno Visual Studio te avisa.. Un saludo! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: fary en 31 Julio 2010, 16:17 pm A mi me da error al compilar el servidor... el cliente no prove... y con los using de siempre a cuales te refieres? a System solo o que? yo no se cuales so nlos que tu usas siempre...
salu2! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 31 Julio 2010, 16:36 pm Necesitas estos namespaces:
Código
Dime si te da algún error al compilar.. OJo: quita la linea Código: new Client().Connect(); Saludos! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: fary en 1 Agosto 2010, 15:13 pm Aora sí, va perfecto :)
salu2! y buen tuto! Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 1 Agosto 2010, 17:10 pm ;)
Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: Guidus en 12 Agosto 2010, 23:08 pm Que hace el programa exactamente?
Cuando lo corro el server quitando la linea que dices me pone una vantana negra de consola con un mensaje LISTO. y cuando trato de correr el cliente con los using no corre porque me dice que no tiene MAIN? Por favor podrias aclararme un poco, soy novato en este asunto, Gracias Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: Hartigan en 13 Agosto 2010, 02:14 am Que hace el programa exactamente? Cuando lo corro el server quitando la linea que dices me pone una vantana negra de consola con un mensaje LISTO. y cuando trato de correr el cliente con los using no corre porque me dice que no tiene MAIN? Por favor podrias aclararme un poco, soy novato en este asunto, Gracias deberías de leer un poco que son los sockets. Aquí el compañero explica un poco lo que son pero tienes este otro tutorial que viene más completo: http://foro.elhacker.net/net/tutorial_sockets_en_c-t165986.0.html y también tienes google para informarte sobre lo que quieras. xD Por cierto, muy bueno tutorial D4N3R. xD Salu2. Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: [D4N93R] en 13 Agosto 2010, 03:44 am Sí, el tuto de Hendrix está muy bueno, es directamente sockets, en cambio este cubre solamente TcpClient, y TcpListener, es una capa por encima. :)
Título: Re: [Tutorial] Tcp/IP Sockets C# Publicado por: llAudioslavell en 23 Agosto 2011, 09:27 am Una red de computadoras (ordenadores) consiste en máquinas interconectadas mediante canales de comunicación. Estas máquinas son Hosts y Routers. Los Hosts son computadoras que ejecutan aplicaciones, por ejemplo un navegador. Los Routers son equipos cuyo trabajo es retransmitir información de un canal de comunicación a otro. Estos pueden ejecutar programas, pero normalmente no son aplicativos. Para este post un canal de comunicación es un medio de transmisión de secuencias de bytes de un host a otro, este puede ser broadcast, como Ethernet, un modem dial-up, o algo más sofisticado. Otro término que tenemos que definir es Protocolo. Un protocolo es un acuerdo acerca de los paquetes intercambiados por comunicación de los programas y lo que significan, además describe como está estructurado, por ejemplo: donde está la información del destinatario en el paquete y de que tamaño es. Un ejemplo es Http (Hypertext Transfer Protocol) que resuelve el problema de transferir objectos hipertexto entre servidores y hacerlo entendible por personas. Ahora vamos directo al grano: ¿Qué es un Socket? Un socket es una abstracción que permite a la aplicación “enchufarse” a la red para poder recibir y enviar data. Los principales tipos de socket hoy en día son los Stream Socket y los Datagram Socket. Los Stream Sockets utilizan TCP e IP para proveer n servicio confiable. Los Datagram Sockets usan UDP. Otro concepto importante son el Stream Reader y el Stream Writer. Son clases que nos ayudan a escribir y leer del buffer del socket. Sino existieran habría que leer el buffer y escribir en él directamente, cosa que es un poco engorrosa e innecesaria para la mayoría de las aplicaciones. Código de ejemplo: Codigo Servidor Código
Codigo Cliente Código
Esto es un demo muy básico, pero funciona correctamente. Se le pueden añadir funcionalidades como multithreading para poder aceptar a varios clientes al mismo tiempo. muy basico ??? :( entonces quisiera algo mas basico.. ayudenme es esto lo que nesecito pero... en donde lo uso las clases que se crea el del cliente y servidor.. en un boton ??? o donde.. respondame xfavor !!! |