Udostępnij za pośrednictwem


Windows Sockets: tło

W tym artykule wyjaśniono, charakter i cel Windows Sockets.Artykuł również:

  • Definiuje pojęcie "gniazdo".

  • Opisuje typ danych uchwyt GNIAZDO.

  • Zawiera opis zastosowań dla gniazd.

Specyfikacja usługi Windows Sockets określa interfejs programowania zgodnych binarnie sieci dla systemów Microsoft Windows.Windows Sockets opierają się na implementację sockets systemu UNIX w Berkeley Software Distribution (BSD, zwolnij 4.3) z University of California w Berkeley.Specyfikacja obejmuje procedury gniazdo typu BSD i rozszerzenia specyficzne dla systemu Windows.Przy użyciu usługi Windows Sockets zezwala aplikacji do komunikowania się przez każdą sieć, która jest zgodna z interfejsu API Windows Sockets.Win32 Windows Sockets świadczone na rzecz bezpieczeństwo wątków.

Wielu dostawców oprogramowania sieciowego obsługuje usługi Windows Sockets pod tym TCP/IP Transmission Control Protocol/Internet Protocol (), Xerox Network System (XNS), protokół DECNet firmy Digital Equipment Corporation, Novell Corporation Internet Packet Exchange/Sequenced pakowane Exchange (IPX/SPX) i innych protokołów sieciowych.Mimo, że obecne Specyfikacja usługi Windows Sockets definiuje abstrakcji sockets dla protokołu TCP/IP, każdy protokół sieciowy zgodne z usługi Windows Sockets, podając swoją własną wersję biblioteki dołączanej (dynamicznie DLL), który implementuje usługi Windows Sockets.Przykładami aplikacji komercyjnych napisane za pomocą usługi Windows Sockets serwerów X Windows, emulatory terminali i systemy poczty elektronicznej.

[!UWAGA]

Celem usługi Windows Sockets jest streszczenie podstawowej sieci tak, aby nie trzeba posiadać wiedzę na temat tej sieci i dlatego aplikacja może być uruchomiony w każdej sieci, który obsługuje sockets.W związku z tym niniejsza dokumentacja nie omówiono szczegóły dotyczące protokołów sieciowych.

Microsoft Foundation Class biblioteki (MFC) obsługuje programowania przy użyciu interfejsu API Windows Sockets, podając dwie klasy.Jeden z tych klas, CSocket, zapewnia wysoki poziom abstrakcji, aby uprościć Twoje Programowanie łączności sieciowej.

Specyfikacja usługi Windows Sockets, usługi Windows Sockets: Otwórz interfejs dla sieci komputerowe w Microsoft Windows, obecnie w wersji 1.1, został opracowany jako otwarty standard sieci przez dużą grupę osób i przedsiębiorstw we Wspólnocie TCP/IP i jest dostępne do użytku.Gniazda aktualnie programowania modelu obsługuje jeden "komunikacji domeny", za pomocą zestawu protokołów internetowych.Specyfikacja jest dostępna w Windows SDK.

PoradaPorada

Ponieważ sockets używają zestawu protokołów internetowych, są one preferowaną trasę dla aplikacji obsługujących komunikację internetową na "autostrada informacji."

Definicja gniazda

Gniazdo jest punkt końcowy komunikacji — obiekt za pomocą którego aplikacja Windows Sockets wysyła lub odbiera pakiety danych w sieci.Gniazdo ma typ i wiąże się z działającego procesu, a to może mieć nazwę.Obecnie sockets ogólnie wymiany danych z innych gniazd w tym samym "komunikacji domeny," który korzysta z zestawem protokołów internetowych.

Oba rodzaje gniazd są dwukierunkowe; są one przepływów danych, które może być przekazywana jednocześnie w obu kierunkach (full-duplex).

Dostępne są dwa rodzaje gniazd:

  • Gniazda strumienia

    Gniazda strumienia przewidują przepływ danych bez granic rekordów: strumień bajtów.Strumienie są gwarantowane do dostarczenia i poprawnie ustawione w kolejności i duplikatów.

  • Datagram sockets

    Przepływ danych Obsługa zorientowana na rekord sockets datagramów, który nie jest zagwarantowane mają zostać dostarczone i nie może zostać zsekwencjonowana jako wysyłane lub duplikatów.

"Zezwól" oznacza, że pakiety są dostarczane w kolejności wysłane. "Niepowieloną grupę"oznacza dany pakiet się tylko raz.

[!UWAGA]

W obszarze niektóre protokoły sieciowe, takie jak XNS strumienie można rekord zorientowane na strumienie rekordów, a nie strumieni bajtów.Zgodnie z protokołem TCP/IP częściej strumienie są strumieni bajtów.Windows Sockets zapewnia poziom abstrakcji niezależne od podstawowym protokołem.

Aby uzyskać informacje o tych typach i jakiego rodzaju gniazdo do wykorzystania w jakich sytuacjach, zobacz usługi Windows Sockets: Stream Sockets i usługi Windows Sockets: Datagram Sockets.

Typ danych SOCKET

Każdy obiekt socket MFC hermetyzuje uchwyt do obiektu usługi Windows Sockets.Typ danych to dojście jest GNIAZDO.A GNIAZDO dojście jest analogiczne do HWND dla okna.Klasy socket MFC zapewniają operacji na zhermetyzowane uchwyt.

GNIAZDO typ danych jest opisana szczegółowo w Windows SDK.W obszarze usługi Windows Sockets, zobacz "Gniazdo typu danych i wartości błędów".

Zastosowań dla gniazd

Gniazda są bardzo przydatne w komunikacji przynajmniej trzy konteksty:

  • Modele klient/serwer.

  • Scenariusze typu peer-to-peer, na przykład aplikacji do obsługi wiadomości.

  • Dokonywanie zdalnego wywołania procedury (RPC) przez aplikację odbierającą interpretować wiadomość jako wywołania funkcji.

PoradaPorada

Jest idealnym rozwiązaniem w przypadku przy użyciu usługi MFC sockets pisząc w obu końcach komunikatu: przy użyciu biblioteki MFC na obu końcach.Aby uzyskać więcej informacji na ten temat, w tym sposobów zarządzania w przypadku, gdy rozmawiasz z aplikacjami nie MFC, zobacz usługi Windows Sockets: bajtów to.

Aby uzyskać więcej informacji, zobacz specyfikacja Sockets systemu Windows: ntohs, ntohl, htons, htonl.Ponadto zobacz następujące tematy:

Zobacz też

Koncepcje

Windows Sockets w MFC