Pregunta

He estado buscando implementar una clase personalizada de:

IList<ArraySegment<byte>>

esto se pasará a un socket y se utilizará como búfer para recibir datos de ese socket.

Socket.BeginReceive(
    IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object
    )

Documentación de MSDN

Mientras probaba, descubrí que al llamar

Comenzar a recibir (IList..

¡¿Se bloquea?!Al reemplazar esto con BeginReceive(byte[]...Actúa de forma asincrónica.

¿Alguien más se ha encontrado con esto?

Publicaré mi código de prueba si es necesario, pero me gustaría saber de alguien antes de fear esta pregunta :)

¡Gracias!

¿Fue útil?

Solución

Así! Descubrí el problema.

Como tenía un

Console.WriteLine

presente en mi a medida

IList<ArraySegment<byte>>

entonces el método no estaba actuando de forma asíncrona en compilación:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top