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