Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Vuls en Septiembre 15, 2020, 01:27:35 AM

Título: C# - Sockets - Envio de datos
Publicado por: Vuls en Septiembre 15, 2020, 01:27:35 AM
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:

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



Cliente:

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