2016-11-15 4 views
2

Ich lese eine Definition von Sockets als "die am häufigsten verwendete API für UDP/TCP-Verbindungen" (Schulmaterial). Es macht mich neugierig zu wissen, ob es Alternativen gibt, und konnte bisher noch keine finden. Ich meine nicht hinzugefügt Abstraktion Schichten (wie RPC oder RMI zum Beispiel), oder Dinge mit einem anderen Netzwerk-Stack, aber mit etwas anderes, das erfüllt die gleiche Rolle auf eine andere Weise.Alternativen zu Sockets

Ich könnte auch die Rolle der Steckdose missverstanden haben, ich würde es in der Sitzung OSI-Schicht passt, oder vielleicht die Transport ein? Da bin ich mir nicht sicher.

Ich habe nicht vor, diese Alternativen zu verwenden, und ich verstehe, wie bequem Sockets sind, habe ich nur gefragt.

Danke für Ihr Interesse

+0

Mögliche Duplikate von [Was sind die Alternativen zur Sockelprogrammierung?] (Http://stackoverflow.com/questions/474386/what-are-the-alternatives-to-socket-programming) –

+0

Ich habe diesen Thread überprüft, aber 1) es ist alt und vielleicht sind neue Projekte seit damals 2) es ist spezifisch für C# (ich interessiere mich nicht für die verwendete Sprache) 3) scheint, wie der Autor mit einer zusätzlichen Abstraktionsschicht zufrieden war. Ich habe angegeben, dass ich nach ** Alternativen ** suche, keine zusätzlichen Abstraktionen (was ich bereits im Sinn habe). Danke für die Überprüfung obwohl :) –

+1

'mit einem anderen Netzwerk-Stack', aber das ist genau das, was es ist. Ein anderer Netzwerkstapel mit einer anderen Implementierung von z.B. TCP und verschiedene APIs. Es gibt keinen fundamentalen Grund dafür, dass man "zuhören" und "binden" muss. – usr

Antwort

0

Wenn Sie einen anderen Netzwerk-Stack zu nicht benutzen, ich glaube, die Antwort ist nein. Der Grund dafür ist, dass der Socket eng mit dem Netzwerkstack implementiert ist. TCP und UDP zum Beispiel verwenden beide Sockets, um die nicht gesendeten und empfangenen Daten zu speichern. Sie können auf jeden Fall einige APIs implementieren, um Daten aus diesen Puffern zu lesen und in diese zu schreiben. Aber ich sehe keinen Vorteil darin, und diese APIs sind wirklich auf Socket aufgebaut.

+0

Nein, sie sind nicht. Die TLI-Schnittstelle hat nichts mit der Sockets-Schnittstelle zu tun. Und die Socket-Schnittstelle wird sowohl für Unix-Domain-Sockets als auch für TCP und UDP verwendet, so dass sie überhaupt nicht eng damit verbunden ist. – EJP

+0

Ich denke, A. Grenouilloux fragt eine alternative Socket-Geräte, die auf dem gleichen Netzwerk-Stack laufen können. Im Linux-System legen TCP oder UDP Daten direkt in den Socket-Puffer. Wenn Sie also den Netzwerk-Stack nicht ändern, wie können Sie das umgehen? – user2760751