C# - Sockets - Envio de datos

Iniciado por Vuls, Septiembre 15, 2020, 01:27:35 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 15, 2020, 01:27:35 AM Ultima modificación: Septiembre 15, 2020, 03:56:01 PM por Gabriela
Hola, tengo una pregunta respecto al envio de informacion con un tamaño por ejemplo de 2 MB. Segun estuve leyendo acerca del protocolo TCP,este implementa su propia segmentacion del paquete, si no entendi mal es la divison del paquete para ser enviado por partes. Mi pregunta es cuando leo los bytes del archivo, con un tamaño de 2 MB, y los envio al servido este paquete se segmenta o me tocaria diseñar un algoritmo a mi para enviarlo por partes para evitar un desbordamiendo del buffer, ejemplo que se envien 100kb/s.

Estoy probando con este codigo.
Servidor:
Código: php

                listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) {
                    ReceiveBufferSize = 1024,
                    SendBufferSize = 1024
                };
Session.cs
send_data(new byte[1000000]);



Cliente:
Código: php

public const int BufferSize = 1000000;

                Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) {
                    ReceiveBufferSize = 1024,
                    SendBufferSize = 1024
                };




Sin embargo,  modificando todo a 1MB, el valor que recibo en el cliente es de 64232 bytes