elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Duda con Sockets sincrono y asincrono ..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Duda con Sockets sincrono y asincrono ..  (Leído 18,366 veces)
llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Duda con Sockets sincrono y asincrono ..
« en: 7 Enero 2012, 23:17 pm »

hola bueno soy yo denuevo con mis dudas.... necesito tener todo claro para poder terminar perfectamente mi aplicacion cliente-servidor:

Socket sincriono:
-sockets que se bloquean hasta que han recibido toda la información  
-En este tipo de socket, cuando haces una llamada para recibir, por ejemplo, la llamada a la funcion no termina hasta que recibe los datos, esto puede cogelar tu aplicacion.

Socket asincrono
sockets que no se bloquean y tenemos q ver si nuestro buffer se ha llenado.

He aqui, he citado las definiciones de algunos usuarios, las mas claras, creo yo, pero creo haber entendido solo poco y quisiera que alguien de ustedes me explicara un poco mejor todo lo que he citado y me respondan algunas dudas:

-Con respecto a Socket sincriono:
- ¿ Que quiere decir con: Socket que se bloquean ?
- "hasta que han recibido toda la informacion" ¿ Esto se refiere que el mensaje que envio el cliente al servidor, ha llegado sin ningun problema ?

- "En este tipo de socket, cuando haces una llamada para recibir, por ejemplo, la llamada a la funcion no termina hasta que recibe los datos, esto puede cogelar tu aplicacion.", todo esto quiere decir que el cliente o servidor se  cuelga una vez que se alla recibido el mensaje (datos) ???

Con respecto a Socket asincrono:
- ¿ a que le llama buffer, que Clase en VB.NET es  y como funciona este ?

- y por ultimo.... normalmente cual de estos metodos es mas usado en la actualidad y por que... hay alguna ventaja ???

Se los agradeceria muchisimo ... no crean que quiero todo resuelto...estoy leendo bastante pero me complico un poco con el tiempo por mis otras labores..

Muchas Gracias
Salu2""


« Última modificación: 7 Enero 2012, 23:43 pm por Audioslave™ » En línea

llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #1 en: 8 Enero 2012, 20:10 pm »

Espero anciosamente respuestas....  estoy leendo mas y cada vez mas tengo mas dudas  :-\  y no encuentro soluccion en Internet ....
Gracias..   :)
Salu2 !!!


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #2 en: 9 Enero 2012, 13:26 pm »

-Con respecto a Socket sincriono:
- ¿ Que quiere decir con: Socket que se bloquean ?
- "hasta que han recibido toda la informacion" ¿ Esto se refiere que el mensaje que envio el cliente al servidor, ha llegado sin ningun problema ?
Quiere decir que tu aplicación irá ejecutando hasta que espere información, luego de lo cual se detendrá y quedará a la espera de recibir esa información.

- "En este tipo de socket, cuando haces una llamada para recibir, por ejemplo, la llamada a la funcion no termina hasta que recibe los datos, esto puede cogelar tu aplicacion.", todo esto quiere decir que el cliente o servidor se  cuelga una vez que se alla recibido el mensaje (datos) ???
Lo mismo de antes, hasta recibir todos los datos no sigue.

Con respecto a Socket asincrono:
- ¿ a que le llama buffer, que Clase en VB.NET es  y como funciona este ?
Por ejemplo un array de bytes en el cual irías almacenando la información a medida que llega.

En el primer caso, la aplicación se bloquea y no sigue hasta bien reciba toda la información. En el segundo caso, la aplicación sigue y va actuando a medida que recibe la información. Una "dice" ... "espero a recibir la información para seguir", y la otra ... "a medida que llegue la información, me vas avisando".

- y por ultimo.... normalmente cual de estos metodos es mas usado en la actualidad y por que... hay alguna ventaja ???
Depende de lo que estés buscando en tu aplicación, en algunos casos se hará uso de sockets sincrónicos, en otros asincrónicos, y en otros incluso sincrónicos y threads :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #3 en: 9 Enero 2012, 17:18 pm »

Quiere decir que tu aplicación irá ejecutando hasta que espere información, luego de lo cual se detendrá y quedará a la espera de recibir esa información.
Lo mismo de antes, hasta recibir todos los datos no sigue.
Por ejemplo un array de bytes en el cual irías almacenando la información a medida que llega.

En el primer caso, la aplicación se bloquea y no sigue hasta bien reciba toda la información. En el segundo caso, la aplicación sigue y va actuando a medida que recibe la información. Una "dice" ... "espero a recibir la información para seguir", y la otra ... "a medida que llegue la información, me vas avisando".
Depende de lo que estés buscando en tu aplicación, en algunos casos se hará uso de sockets sincrónicos, en otros asincrónicos, y en otros incluso sincrónicos y threads :P

Saludos


Exelente aclaracion..... ahora comprendo mejor las cosas... pero me quede en duda sobre tu ultima explicacion......... cuales son esos casos especificos ??? disculpa por tantas preguntas..  nuevamente aclaro que soy Novato ^^
En línea

CATBro

Desconectado Desconectado

Mensajes: 156


Envidio la manera de pensar de Caboose


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #4 en: 10 Enero 2012, 00:24 am »

Se puede decir que los sockets asincronos, permiten que los metodos que usen tus sockets, funcionen por asi decirlo con "hilos integrados", actuan como sockets y hilos al mismo tiempo por asi explicarlos, los asincronos evitan que uses hilos en tus sockets.

Casos:
CASO#1:
Usando sockets sincronos sin hilos.
Por ejemplo: Alguien te da una lista de tareas por hacer, jejje bueno..
1.Caminar 10Kilometros
2.Respirar
3.Descansar

Usando sockets sincronos sin hilos , primero tendrias que caminar 10kilometros y ya recorrido los 10 kilometros, recien empezar a respirar, mientras no cumplas por asi decirlo el primer metodo, o tarea, no puedes respirar

CASO#2
Usando sockets sincronos con hilos
Ejmplo:Alguien te una lista de tareas igual a la de arriba
1.Caminar 10Kilometros
2.Respirar
3.Descansar

Podrias poner la tarea de respirar en un hilo, y al mismo tiempo en que cumples con la tarea de caminar los 10 kilometros puedes respirar

CASO#3
Usando sockets asincronos
Ejemplo: La mima lista de arriba de cosas por hacer

Puedes hacer todo al mismo tiempo

No se si me di a entender

Otro ejemplo pero en un servidor
El servidor de tu chat,recive informacion en cualquier momento, pero no sabes en que momento puede llegarle el mensaje, pero mientras espera esa informacion, talvez quieres que haga otra cosa, puede que al servidor de tu chat quieras que tambien de hay tu puedas tecelar un mensaje y mandarlo a otro usuario.
Por lo tanto tienes dos opciones usar sockets sincronos e hilos, o sockets asincronos.

No se si me di a entender
Saludos

En línea

llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #5 en: 21 Enero 2012, 16:48 pm »

Se puede decir que los sockets asincronos, permiten que los metodos que usen tus sockets, funcionen por asi decirlo con "hilos integrados", actuan como sockets y hilos al mismo tiempo por asi explicarlos, los asincronos evitan que uses hilos en tus sockets.

Casos:
CASO#1:
Usando sockets sincronos sin hilos.
Por ejemplo: Alguien te da una lista de tareas por hacer, jejje bueno..
1.Caminar 10Kilometros
2.Respirar
3.Descansar

Usando sockets sincronos sin hilos , primero tendrias que caminar 10kilometros y ya recorrido los 10 kilometros, recien empezar a respirar, mientras no cumplas por asi decirlo el primer metodo, o tarea, no puedes respirar

CASO#2
Usando sockets sincronos con hilos
Ejmplo:Alguien te una lista de tareas igual a la de arriba
1.Caminar 10Kilometros
2.Respirar
3.Descansar

Podrias poner la tarea de respirar en un hilo, y al mismo tiempo en que cumples con la tarea de caminar los 10 kilometros puedes respirar

CASO#3
Usando sockets asincronos
Ejemplo: La mima lista de arriba de cosas por hacer

Puedes hacer todo al mismo tiempo

No se si me di a entender

Otro ejemplo pero en un servidor
El servidor de tu chat,recive informacion en cualquier momento, pero no sabes en que momento puede llegarle el mensaje, pero mientras espera esa informacion, talvez quieres que haga otra cosa, puede que al servidor de tu chat quieras que tambien de hay tu puedas tecelar un mensaje y mandarlo a otro usuario.
Por lo tanto tienes dos opciones usar sockets sincronos e hilos, o sockets asincronos.

No se si me di a entender
Saludos



Exelente amigo .. disculpame por no darte las gracias antes,.. es que no pude ya conectarme por falta de tiempo bueno exelente hermano !!!!!

Entonces los socket asincrono me dejan recibir informacion(mensaje) de cualquier cliente en cualquier  momento  ....   pero una duda, que Clases en .NET se utiliza para este caso.. y que clases se utiliza con el metodo de socket sincrono

Espero respuestas hermanos ^^
En línea

TomaSs

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #6 en: 14 Enero 2013, 07:04 am »

Aprovecho este hilo para hacer una pregunta sobre el tema.
Para un chat, el cual recibirá información en cualquier momento, qué sería más eficiente? el método sincrono con hilos o el método asincrono?

gracias!
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #7 en: 14 Enero 2013, 17:10 pm »

que Clases en .NET se utiliza para este caso.. y que clases se utiliza con el metodo de socket sincrono

TcpClient para la implementación cliente y TcpServer para la parte del servidor. Estas dos clases son muy fáciles de emplear, aunque yo prefiero utilizar la Clase Sockets, pues TcpClient/Server están basadas en la última.

Aprovecho este hilo para hacer una pregunta sobre el tema.
Para un chat, el cual recibirá información en cualquier momento, qué sería más eficiente? el método sincrono con hilos o el método asincrono?
gracias!

En mi opinión usaría sockets asíncronos, pues en un Chat te interesa enviar mensajes mientras los recibes, es decir, multi-tarea (enviar/recibir). Si lo implementaras bajo Sockets sincronos pues estarías esperando la llegada de información (paquetes) del otro extremo y bloquearías el proceso hasta que recibieras los datos. Todo depende del uso o implementación que quieras dar.

Saludos!
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

TomaSs

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #8 en: 14 Enero 2013, 17:51 pm »

En mi opinión usaría sockets asíncronos, pues en un Chat te interesa enviar mensajes mientras los recibes, es decir, multi-tarea (enviar/recibir). Si lo implementaras bajo Sockets sincronos pues estarías esperando la llegada de información (paquetes) del otro extremo y bloquearías el proceso hasta que recibieras los datos. Todo depende del uso o implementación que quieras dar.

Saludos!

Pero por lo que yo he podido comprobar, con varios hilos también te permite estar recibiendo en un hilo, y enviar en otro hilo, no es así?
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Duda con Sockets sincrono y asincrono ..
« Respuesta #9 en: 14 Enero 2013, 19:09 pm »

Exacto. Podrías correr en un hilo el proceso de recibo de mensajes, de esta forma no bloquearía el hilo principal. El proceso de envio de mensaje los podrías implementar perfectamente en el hilo principal de la aplicación. Los métodos asíncronos utilizan funciones CallBack (de llamada) que  permiten continuar con la ejecucción del código mientras se ejecutan las instrucciones de dichas funciones de llamada.

Saludos!
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
URLDownloadToFile no asincrono
Programación Visual Basic
Lupin 5 5,289 Último mensaje 25 Octubre 2009, 08:15 am
por cobein
Como File Uploader Asincrono ?
PHP
Diabliyo 7 5,942 Último mensaje 14 Agosto 2010, 01:51 am
por raul338
Aplicacion utilizando Socket Asincrono
.NET (C#, VB.NET, ASP)
llAudioslavell 2 4,334 Último mensaje 27 Agosto 2013, 09:22 am
por Keyen Night
Acceso asincrono a Variables
Desarrollo Web
AlbertoBSD 3 2,254 Último mensaje 26 Agosto 2016, 20:04 pm
por AlbertoBSD
Junit asincrono
Java
alexis33de 0 2,219 Último mensaje 13 Noviembre 2017, 15:30 pm
por alexis33de
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines