TCP P2P ohne server
ist es möglich zu schreiben TCP P2P-Programm, das ohne server?
Wenn ich googeln diese Frage fand ich etwas über NAT-traversal,UPnP, kann ich Sie irgendwie?
- Werfen Sie einen Blick auf die SignalR asp.net/signalr
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man ja (wo, wie GrandmasterB Punkte aus, jeder peer sowohl client als auch server-sockets). Allerdings NATs führen, dass Sie Schmerzen, wie Sie vielleicht schon wissen.
Wenn Sie nicht verwenden können, middleboxes (Server auf die öffentliche IP-Adressen, an die Sie Ihre clients eine Verbindung herstellen (*)) - und Sie vielleicht nicht wollen diese, weil Sie eher im Gegensatz zu dem Punkt der P2P - und Sie nichts dagegen beschreibt die Einzelheiten zu der Verbindung mit SDP, Sie könnten versuchen,Interactive Connectivity Establishment.
Im wesentlichen, EIS versucht, verschiedene Strategien zu verbinden. Es ist eine modulare Architektur, so könnte man hinzufügen, Ihre eigenen Strategien. Standardmäßig EIS beschreibt Techniken für UDP traversal, aber ein Erweiterung zu erlauben TCP-Konnektivität ist in die Werke.
(*) Konnte man immer versuchen, eine Architektur wie im IRC, in dem Sie eine beliebige Anzahl von Servern peering untereinander, zu denen clients eine Verbindung herstellen. Das ist auf halbem Weg zum P2P-mindestens. (Das ist auch so ziemlich die Architektur SIP verwendet.)
Es hängt wirklich was du meinst mit "server". Sie brauchen nicht einen zentralen server mit allen Mitteln. Der Begriff 'p2p', per definitionem, bedeutet keine zentralen server.
Aber die apps, die den Empfang von Daten aus anderen apps müssen in der Lage sein, eingehende tcp/ip-verbindungen... das ist in der Regel als "server" - Funktionalität, auch wenn Sie nicht nennen es ein 'server'. Also in Ihrem Fall, Ihre p2p-Anwendung müssen sowohl server und client (initiiert verbindungen) - Funktionen, die in es.