Ich habe eine Anwendung, die Client und einen Server hat. Der Server wird im Grunde nur verwendet, um die Dateinamen der Clients zu speichern, damit andere Clients nach Dateien suchen und den Server suchen, den Client mit der gewünschten Datei suchen und die Datei durch direkte Verbindung mit ihm erhalten können . Inzwischen kann ich die Socket-Information des Clients abrufen, der die Datei hat, die von dem anderen Client angefordert wird. Allerdings bin ich jetzt verwirrt darüber, wie diese beiden Clients verbunden werden. Muss ich einen separaten Client und einen Server-Socket zwischen den beiden Clients erstellen oder gibt es andere Möglichkeiten.Verbinden von zwei Client-Socket
Antwort
Jetzt haben Sie zwei Möglichkeiten: -
Lassen Sie den Server seine Rolle weiter, und der Server als Vermittler zwischen den beiden Parteien agieren können. Es sollte die Datei von dem Client herunterladen, der es hat, und es (über ein geeignetes Protokoll) an den Client senden, der die Datei angefordert hat. Dies wird Client-Server-Architektur genannt. Dies ist ein einfacher Ansatz, und Sie haben die Vorteile wie Datei-Caching usw., d. H. Wenn in Zukunft dieselbe Datei angefordert wird, kann der Server sie direkt senden, ohne nach dem Client zu fragen.
Sie können weiterhin die P2P-Architektur verwenden und einen separaten Socket zwischen den beiden Parteien erstellen. Dies ist nicht einfach und erfordert besondere Sorgfalt, wenn mehrere Prozesse gleichzeitig ausgeführt werden.
- 1. Verbinden von zwei Telefonnummern
- 2. Verbinden von zwei vagabundierenden Maschinen
- 3. Verbinden von zwei asynchronen Anrufen
- 4. Verbinden von zwei Linux-Skripten
- 5. äußere verbinden zwei Tabellen
- 6. prüfen, ob ein Clientsocket in Java abgeklemmt
- 7. Verbinden zwei Datenrahmen
- 8. zwei numpy Matrizen verbinden
- 9. Zwei Liniensegmente verbinden
- 10. mysql verbinden zwei Tabellen
- 11. Arduino Verbinden von zwei int der
- 12. Verbinden von zwei Arrays in ColdFusion
- 13. Verbinden von zwei großen Datensätzen in RxJava
- 14. Zwei WAV-Dateien von Java verbinden?
- 15. Verbinden von zwei MySQL-Abfragen zusammen
- 16. Letzter Login Verbinden von zwei Tabellen
- 17. Unerwartetes Ergebnis beim Verbinden von zwei Datentabellen?
- 18. Verbinden von zwei Array [Byte] in Scala?
- 19. Verbinden von zwei Anweisungen im Controller
- 20. Frage zum Verbinden von zwei MySQL-Tabellen
- 21. Verbinden von zwei Saiten mit rlike
- 22. Verbinden von zwei Computern mit Ethernet-Kabel
- 23. Verbinden von zwei separaten Benutzersystemen auf zwei verschiedenen Apps
- 24. Schienen verbinden zwei Tabellen zusammen
- 25. Wie verbinden Sie zwei Projekte
- 26. Verbinden Sie zwei strokeEnd Animationen
- 27. Verbinden von zwei Komponenten von String und Identifizieren von Komponenten
- 28. Wie verbinden Sie zwei Regex?
- 29. Zwei Tisch verbinden mit Laravel
- 30. Zwei Arrays in Java verbinden?