Freigeben über


Windows Sockets: Streamsockets

In diesem Artikel werden Streamsockets, einen der beiden verfügbaren Windows Socket-Typen.(Der andere Typ ist Datagrammsocket).

Streamsockets stellen für einen Datenfluss ohne Datensatz hinweg bereit: Ein Stream von Bytes, die bidirektional sein können (die Anwendung, ist Vollduplex: er kann durch den Socket senden und empfangen).Streams können auf gebaut werden, um den Sequenzen, unduplicated Daten zu übermitteln.("Sequenz" bedeutet, dass Pakete in der gesendeten Reihenfolge zugestellt werden sollen. "Unduplicated" bedeutet, dass ein bestimmtes Paket nur einmal) abrufen. Eingang von Meldungen Stream ist und Streams sind für das Behandeln von großen Datenmengen gut geeignet.

Die Netzwerk transportschicht Daten in Paketen angemessene Größe oben bzw. die möglicherweise unterbrochen.Die CSocket-Klasse behandelt das Packen und das Entpacken für Sie.

Streams basieren auf explizite Links: Socket A fordert eine Verbindung mit dem Socket " b "; Socket B akzeptiert oder weist die Verbindungsanforderung zurück.

Ein Telefonanruf stellt eine gute Analogie für einen Stream bereit.Unter normalen Umständen wird die empfangende Seite, was Sie in der Reihenfolge, in der sie sagen, ohne Duplikat oder sagen.Implementierungen für Streamsockets sind z. B. das FTP (File Transfer Protocol), erleichtert das angemessen, ASCII oder beliebige Binärdateien der Größe zu übertragen.

Datagrammsockets sind für Streamsockets vorzuziehen, wenn die Daten gewährleistet werden müssen, um anzukommen und Datengröße groß ist.Weitere Informationen über Streamsockets finden Sie auf der Windows Socket-Spezifikation.Die Angabe erfolgt in Windows SDK verfügbar.

Verwenden von Streamsockets überlegen sein, die Anwendungen entwickelt werden, um einen Datagrammsocket für die Übertragung zu allen kann das Empfangen, Sockets im Netzwerk zu verwenden, da

  • Das Modell ist abhängig von Problemen Übertragungs dem Netzwerk flut (oder "Sturms").

  • Das client-server model, das später verwendet wird, ist effizienter.

  • Die zuverlässige Datenübertragung vom Datenstrom, wobei das Datagramm modell-Zubehör Modell nicht vorhanden ist.

  • Das endgültige Modell nutzt die Möglichkeit, zwischen Unicode- und ANSI-Socket-Anwendungen zu kommunizieren, die auf die Klasse leiht CSocket CArchive Klasse.

    HinweisHinweis

    Wenn Sie Klasse CSocket verwenden, müssen Sie einen Stream verwenden.Eine MFC-Assertion schlägt fehl, wenn Sie den Sockettyp als SOCK_DGRAM angeben.

Siehe auch

Konzepte

Windows Sockets in MFC

Windows Sockets: Hintergrund