Domanda

Ho cercato di implementare una classe personalizzata di:

IList<ArraySegment<byte>>

questo verrà passato a un socket e utilizzato come buffer per ricevere i dati da quel socket.

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

Documentazione MSDN

Durante i test ho scoperto che durante la chiamata

BeginReceive(IList..

Si blocca?!Quando lo si sostituisce con BeginReceive(byte[]...agisce in modo asincrono.

Qualcun altro si è imbattuto in questo?

Se necessario pubblicherò il mio codice di test, ma mi piacerebbe sentire qualcuno là fuori prima di rendere brutta questa domanda :)

Grazie!

È stato utile?

Soluzione

COSÌ!Ho scoperto il problema.

Dato che avevo un

Console.WriteLine

presente nella mia consuetudine

IList<ArraySegment<byte>>

quindi il metodo non funzionava in modo asincrono durante la compilazione :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top