Udostępnij za pośrednictwem


CSocketFile::CSocketFile

Konstrukcje CSocketFile obiektu.

explicit CSocketFile(
   CSocket* pSocket,
   BOOL bArchiveCompatible = TRUE 
);

Parametry

  • pSocket
    Gniazdo do dołączenia do CSocketFile obiektu.

  • bArchiveCompatible
    Określa, czy obiekt pliku do użytku z CArchive obiektu.Przekazać FALSE tylko wtedy, gdy chcesz użyć CSocketFile obiekt w sposób autonomiczny, tak jak autonomicznego CFile obiekt z pewnych ograniczeń.Flaga ta zmienia sposób CArchive dołączony obiekt CSocketFile zarządza obiekt buforu do czytania.

Uwagi

Usunięcie obiektu destruktora skojarzenia sobie z obiektu gniazda obiekt wykracza poza zakres lub skreśla się.

[!UWAGA]

A CSocketFile można również jako plik (ograniczone) bez CArchive obiektu.Domyślnie CSocketFile konstruktora bArchiveCompatible jest parametr TRUE.Określa, że plik jest do użytku z archiwum.Aby użyć obiektu pliku bez archiwum, przekazać FALSE w bArchiveCompatible parametru.

W trybie "zgodny z archiwum" CSocketFile obiektu zapewnia lepszą wydajność i zmniejsza niebezpieczeństwo "zakleszczenia." Zakleszczenie występuje, gdy sockets wysyłające i odbierające czekają na siebie lub dla wspólnych zasobów.Taka sytuacja może wystąpić, jeśli CArchive obiektu pracował z CSocketFile sposób, jak z CFile obiektu.Z CFile, archiwum można zakładać, że jeżeli otrzyma mniejszej liczby bajtów niż wnioskuje koniec pliku osiągnięto.

Z CSocketFile, jest jednak dane wiadomości na podstawie; bufor może zawierać wiele wiadomości, dzięki odbierania mniejsza niż żądana liczba bajtów oznacza koniec pliku.Aplikacja nie blokuje w tym przypadku, na przykład z CFile, i może kontynuować odczytywanie wiadomości z bufora, dopóki bufor jest pusty.CArchive::IsBufferEmpty funkcja jest przydatna do monitorowania stanu buforu archiwum w takim przypadku.

Więcej informacji na temat stosowania CSocketFile, zobacz artykuły Windows Sockets: za pomocą gniazd z archiwami i Windows Sockets: przykład z Sockets przy użyciu archiwa.

Wymagania

Nagłówek: afxsock.h

Zobacz też

Informacje

Klasa CSocketFile

Wykres hierarchii

CFile::CFile

CFile::Read