Was ist der Unterschied zwischen Socket- und TCP / IP-Kommunikation?


Antwort 1:

TCP / IP ist der im Internet am häufigsten verwendete Protokollstapel. Es gibt an, wie Daten am Ziel adressiert, gesendet, weitergeleitet und empfangen werden sollen. Es hat 4 Schichten: Anwendungsschicht, Transportschicht, Internetschicht und Verbindungsschicht.

Eines der wichtigsten Protokolle in diesem Stapel ist TCP. TCP ist ein verbindungsorientiertes, zuverlässiges End-to-End-Protokoll, das in eine geschichtete Hierarchie von Protokollen passt, die Anwendungen mit mehreren Netzwerken unterstützen. TCP bietet eine zuverlässige Verbindung zwischen zwei Prozesspaaren von Computerhosts, die an ein Netzwerk angeschlossen sind. Eine TCP-Verbindung wird durch zwei Endpunkte (Sockets) definiert.

Ein Socket repräsentiert Endpunkte der Kommunikation zwischen zwei Programmen im Computernetzwerk. Um zu kommunizieren, müssen wir den Computer anhand der IP-Adresse identifizieren und das Programm anhand der Portnummer angeben.

Um mehr über den TCP-Socket zu erfahren, lesen Sie diesen RFC: RFC 793 - Transmission Control Protocol


Antwort 2:

Netzwerk-Socket prüfen - Es gibt mindestens zwei verschiedene Bedeutungen eines "Sockets".

Socket-APIs dienen zur Durchführung von IPC (Inter Process Communication), wie Marcelo sagte. Sie abstrahieren über das genaue verwendete Protokoll. Sie können verwendet werden, um zwischen Prozessen auch auf demselben Computer zu kommunizieren. Wir nennen dies Standorttransparenz: Prozesse kommunizieren innerhalb eines Netzwerks von Prozessen unabhängig von ihrem physischen Standort.

Darüber hinaus haben Sie Unix-Sockets, die wie Named Pipes aussehen. Der Datenverkehr ist lokal, nur eine Unix-Pipe, ebenso wie der direkte Speicherzugriff (Shared Memory-Kommunikation), der schneller ist als TCP im Loopback, denke ich.


Antwort 3:

Sockets ist eine generische API für Netzwerkanwendungen.

Es kann mit TCP / UDP / SPX / IPX / NETBIOS / ... verwendet werden.

TCP ist das primäre Transportprotokoll für die IP-Netzwerke.

Normalerweise verwenden Sie TCP über Sockets.

Ich mag solche grundlegenden Fragen in Quora wirklich nicht. Dafür ist Wikipedia da. Bitte suchen Sie in Wikipedia, bevor Sie hier Fragen stellen.