Buffer con dimensioni fisse o buffer variabili con socket C #

0

Sono impegnato a progettare una classe TCP Server in C # che contiene eventi e consente all'utente della classe di definire i pacchetti che il server può inviare una ricezione registrando una classe derivata dalla mia classe "GenericPacket". Il mio TCPListener usa metodi Async come .BeginReceive (..);

Il mio problema è che sto usando il .BeginReceive (); Devo specificare una dimensione del buffer quando chiamo la funzione. Ciò significa che non posso leggere l'intero pacchetto se uno dei miei pacchetti definiti è troppo grande. Ho pensato di creare un'intestazione di dimensioni fisse che viene letta usando .BeginRead (); e leggere il resto usando Stream.Read (); ma questo porterà l'intero server a dover attendere il completamento di questa operazione.

Mi piacerebbe sapere se qualcuno lo ha mai incontrato prima e apprezzerei qualsiasi suggerimento.

    
posta Keagan Ladds 08.11.2013 - 08:04
fonte

0 risposte

Leggi altre domande sui tag