Zu meiner Frage: Ich programmiere meine Verbindungen zwischen 2 Computer immer mit Sockets. Doch, ich würde gerne noch weitere Möglichkeiten kennenlernen, welche den Informationsaustausch ermöglichen würden. Vielleicht könntet ihr mir noch ein paar Varianten zeigen. Danke schonmal im vorraus!
Also wie
@mihe7 schon erläutert hat: Es läuft in der Regel immer über Sockets. Das ist halt eine einheitliche Schnittstelle und das was drunter läuft, ist Dir dann egal. So muss man sich über vieles keine Gedanken mehr machen.
Somit baut eigentlich alles immer auf Sockets auf.
Generell spricht aber natürlich nichts dagegen, auch auf die Level unterhalb zu gehen. Du kannst also direkt eine Schnittstelle ansprechen. Eine Serielle Schnittstelle wäre da z.B, zu nennen. Da liest Du dann erst einmal direkt Daten, hast aber immer noch ein relativ hohes Niveau: Du musst nicht wirklich steuern, wann wie etwas auf der Ausgabe anliegt oder nicht. Du setzt in der Regel gewisse Parameter eines Protokolls (Geschwindigkeit, Anzahl Bits, Stopbit ja/nein, ...)
Oder Du hast direkte I/O Ports (bei den kleinen "Bastelsystemen" wie Arduino, RaspberryPi und co)
Dann kannst du auf unterster Ebene Lesen / Schreiben. Du kannst also in der Software definieren, was am Ausgang anliegen soll und du bist für die Veränderung verantwortlich. Das geht prinzipiell alles. Und damit bist Du sozusagen auf der untersten Ebene und die hast Du so oder so immer. Teilweise hast Du aber spezielle Systeme, die die Daten entgegen nehmen und eine erste Auswertung machen, also z.B. eine Netzwerkkarte mit Glasfaser Anschluß: Da werden Lichtsignale umgesetzt für den Computer. Oder bei RJ45 (Kupfer) wird die Spannung und so auch nicht vom Computer sondern von der Netzwerkkarte ausgewertet. (Je nach Karte geht das ganz schön weit. Einige Karten nehmen dem Computer viel Arbeit ab, damit der Rechner entlastet wird und höhere Datenraten möglich werden.)
Da ist daher wirklich die Frage wichtig, was Du überhaupt so im Sinn hast.