Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Comunicación por socket en .net
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Comunicación por socket en .net

Publicar nuevo tema Responder al tema
Foros de discusión » VB.Net, C# .Net, Visual Studio .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
carlmart
Usuario


Registrado: Feb 04, 2013
Mensajes: 1

Asunto: Comunicación por socket en .net Responder citando

Buenas tardes

Encontré un código que me pareció perfecto en esta misma página hace unos días (Socket Visual Basic .Net, conexión mediante socket VB.Net y System.Net.Sockets creado por Alonsojpd en este link http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=579). Lo probé y funciona excelente, pero estoy teniendo un comportamiento "extraño" y no doy con el posible error.

Los pongo en contexto un poco...

En mi trabajo desarrollamos tanto el hardware como el software que necesitamos para nuestros equipos. Uno de esos equipos se conecta vía IP con un servidor nuestro y descarga y sube información.

Necesito hacer la nueva versión de ese software del servidor (la versión anterior y que esta en producción esta hecha en Java y se quiere migrar a .net) y para eso tome prestado el código de aqui, que de buenas a primeras funciona perfecto y hace justo lo que necesito.

El detalle que tengo es con la parte del "Servidor" (en el código de aqui es la parte de ClaseClienteSocket), y es que cuando los datos son muchos no e logrado que el equipo remoto que se conecte pase bien todos los datos. Ese equipo "descarga" lineas de datos (cada linea de aprox 40 bytes) y si por ejemplo le digo que me baje 20 lineas solo e logrado recibir correctamente unos 400 bytes (10 lineas +/-).

Hay alguna parte en el código donde se le este indicando el tamaño máximo de bytes que puede recibir el socket??? (Si es que este es el error obviamente) Lo único que vi que podría ser algo así es el método LeerSocket donde se le da un tamaño al arreglo de bytes y no es allí el problema (he colocado números gigantes de hasta 10.000 y el comportamiento es el mismo).

Ya le e dado vueltas y no e logrado entender como y porque no logro capturar, leer, obtener o como sea todos los datos que llegan por el canal abierto.

Ya descarte que sea el equipo remoto, al probarlo con la versión anterior funciona bien, lo que me dice que en realidad si esta descargando las lineas correctas que se le pidan.

No estoy cerrando antes los sockets ni eliminando ningún hilo ni tumbando nada, lo se porque si obligo a que el código continué aun sin haber recibido todos los datos aun quedan 3 pasos más que ejecuta perfecto durante la misma conexión (son 7 pasos, todos se hacen bien menos el paso 4 que no me llega la data completa).

Al código de aquí le hice muy pocos cambios, solo ponerle condiciones según el tipo de datos que se recibe principalmente para saber cual datos enviar, por lo que funciona 99% igual que como lo escribieron.

Muchas gracias de antemano...
MensajePublicado:
Lun Feb 04, 2013 6:05 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » VB.Net, C# .Net, Visual Studio .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+