Autor
|
Tema: Longitud tramas Winsock TCP (Leído 2,448 veces)
|
Raskatak
Desconectado
Mensajes: 3
|
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
Mensajes: 3.158
I'Love...!¡.
|
. Cual es tu codigo de envio y de Recivo de datos?
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Raskatak
Desconectado
Mensajes: 3
|
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
Mensajes: 3.158
I'Love...!¡.
|
mmm esta mal tu recivo de datos ... ponlo en el evento DataArrival Private Sub Socket_Out_DataArrival(ByVal bytesTotal As Long) Dim vData As String Call Socket_In.GetData(vData) Call MsgBox(vData) End Sub
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Raskatak
Desconectado
Mensajes: 3
|
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
|
|
|
|
|
|