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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Longitud tramas Winsock TCP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Longitud tramas Winsock TCP  (Leído 2,446 veces)
Raskatak

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Longitud tramas Winsock TCP
« en: 7 Octubre 2010, 19:17 pm »

Buenas,

Tengo una aplicación cliente servidor, en VB6.0 con Winsock.

Tengo unas cuantas tramas para el "diálogo", y me funcionan todas correctamente. El problema es que tengo una un poco larga de longitud, 22000 caracteres.

Al enviarla desde el cliente al servidor, me la envía bien pero el servidor solo me recibe 4000. Además en función del ordenador donde instalo el servidor me recibe diferente pero nunca los 22000.

Al hacerlo en una red interna me recibe bien los 22000, el problema es cuando hago la comunicación entre dos ordenadores de distintas redes.

¿Tiene alguna limitación Winsock? Alguna forma de poder recibir los 22000 juntos?

Muchas gracias


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Longitud tramas Winsock TCP
« Respuesta #1 en: 8 Octubre 2010, 03:30 am »

.
Cual es tu codigo de envio y de Recivo de datos?

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
Raskatak

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Longitud tramas Winsock TCP
« Respuesta #2 en: 8 Octubre 2010, 16:05 pm »

Código servidor

Dim trama_send as string

trama_send = "A" + meter_ceros(CStr(Len(trama_send) + 13), 6) + meter_ceros(CStr(paq_tot), 6) + trama_send
Ppal.TCP.SendData trama_send


Código cliente
Dim trama_recv as string
Dim trama_recv2 as string
Dim trama_recv3 as string
Dim trama_recv4 as string

'En un timer de 10 ms

Ppal.TCP.GetData trama_recv, , 1
Select
     Case "A"
                  Ppal.TCP.GetData trama_recv2, , 6
                  Ppal.TCP.GetData trama_recv3, , 6
                  Ppal.TCP.GetData trama_recv4, , Clng(trama_recv2)-12
.
.
.
.

En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Longitud tramas Winsock TCP
« Respuesta #3 en: 8 Octubre 2010, 19:02 pm »

mmm
esta mal tu recivo de datos


...

ponlo en el evento DataArrival

Código
  1.  
  2. Private Sub Socket_Out_DataArrival(ByVal bytesTotal As Long)
  3. Dim vData                               As String
  4.    Call Socket_In.GetData(vData)
  5.    Call MsgBox(vData)
  6. End Sub
  7.  
  8.  
En línea

The Dark Shadow is my passion.
Raskatak

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Longitud tramas Winsock TCP
« Respuesta #4 en: 11 Octubre 2010, 16:35 pm »

Es que como dices tu lo tenía antes, pero me pasaba que me salyta el evento de recepción y la longitud de las trama recibida no es la total.

De todas formas lo que he hecho es como dices tu, pero reconstruyendo la trama en la recepción. Es decir que como la trama me llega en varios eventos de recepción, las voy concatenando.

De todas formas, en el código que te he puesto yo, también recibe, y está bastante bien para cuando recibes varias tramas juntas. Ya que vas recibiendo lo que vas leyendo.

Muchas gracias por las respuestas
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enviar tramas de bytes en C++/CLR
.NET (C#, VB.NET, ASP)
Meta 1 1,848 Último mensaje 15 Febrero 2016, 22:47 pm
por Meta
Detectar tramas de bytes
.NET (C#, VB.NET, ASP)
Meta 0 1,762 Último mensaje 15 Noviembre 2023, 20:53 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines