Ich versuche, einfache TCP-Client und Server-Programm zu schreiben. Das Serverprogramm muss die Liste der Dateien in seinem Standardverzeichnis an das Clientprogramm senden. Der Client wählt dann eine Datei aus, und der Server gibt den Inhalt dieser Datei zurück. Ich habe alle grundlegenden Verbindungen, aber ich bin fest, wie man die Liste der Dateien an den Client bekommt. Irgendwelche Ideen? TIASo senden Sie eine Liste von Dateien im Standardverzeichnis an den Client vom Server
0
A
Antwort
0
die Liste der Dateien in einem Verzeichnis zu erhalten ist im Moment sehr systemabhängig:
- auf Linux und Posix, würden Sie
opendir()
undreaddir()
und verwandte Funktionen verwenden. - auf Fenster, dann würden Sie
FindFirstFile()
,FindNextFile()
, andFindClose()
oder ähnliches verwenden (wieFindFirstFileEx()
)
Zum Glück gibt es boost::filesystem
, die ein tragbares directory iterator bietet.
Die gute Nachricht ist, dass filesystem
bald der C++ - Standardbibliothek beitreten wird. Einige Compiler, wie MSVC und gcc, bieten sie bereits als experimentelle Erweiterung und es ist sehr, sehr nahe zu steigern:
path dir { "." };
for (auto& p : recursive_directory_iterator(dir)) {
cout << "Sending "<<p<<endl; // dir_entry using recursive browsing
//... todo: send file
}
Verwandte Themen
- 1. So senden Sie Ereignisse vom Server zum Client in Silverlight
- 2. Senden der Fortschrittsnachricht vom Server an den Client mit Ajax
- 3. So senden Sie eine Nachricht vom Server zum Client
- 4. Senden Sie eine Beitragsanfrage an den Server
- 5. Senden von Daten vom Server (Java) an Android-Client
- 6. Vom Client an den Server gemeldete Daten an eine Protokolldatei senden
- 7. Apache Mina UDP Server Senden von Nachrichten an den Client
- 8. Android: So senden Sie regelmäßig den Standort an einen Server
- 9. Flask SocketIO senden Nachricht vom Server an den Raum
- 10. So senden Sie eine große Datei vom Client zum Server mithilfe von WCF?
- 11. So authentifizieren Sie einen AngularJS-Client ordnungsgemäß an den Server
- 12. So senden Sie Daten an den Server und erhalten die Antwort vom Server mit AFNetworking 3.0?
- 13. Senden Sie socket.io Antwortdaten an den Client von node.js Server im gzip-Format
- 14. So senden Sie E-Mails vom Smtp-Client?
- 15. MEAN Nodejs JSON.parse übergibt Daten vom Client an den Server
- 16. So senden Sie Informationen von einem Server an Android
- 17. Wie kann der Server Daten an den Client senden?
- 18. Ich kann keine Nachricht vom Client zum Server senden
- 19. Senden Sie schlagen Protokolle vom Client zum Server ELK
- 20. Senden einer PDF-Datei an den Client vom Server über Web-Service
- 21. HTTP/1.0 Server in C, wie große Dateien an den Client senden?
- 22. So senden Sie Daten an den Port im Binärformat
- 23. So senden Sie eine Liste an API mit Retrofit2
- 24. So senden Sie eine Nachricht an eine Ansicht von vielen
- 25. Benachrichtigung vom Administrator an den Client
- 26. Senden von Daten vom Server zum Client in UWP
- 27. Senden Sie SMS vom Client Android Twilio?
- 28. Kann keine Befehle vom Java-Code an den Server senden
- 29. So senden Sie eine PDF-Datei mit dem Servlet an den Client.
- 30. So senden Sie eine Nachricht an den Client über Websocket mit Spring
[Verwenden 'send'] (http://linux.die.net/man/2/ senden). Stellen Sie sicher, dass Sie Ihr Kommunikationsprotokoll so definieren, dass der Empfänger weiß, wann er die gesamte Nachricht gelesen hat und lesen kann. Am einfachsten ist es, die Länge der Nachricht vor dem Senden der Nachricht zu senden oder das Ende der Nachricht mit einem Terminator wie NULL zu markieren. – user4581301
ja ich bin vertraut mit der Funktion send(), aber wie würde ich die Liste der Dateien in den Puffer bekommen, um über send() zu senden? – jynx678
Das ist leider Betriebssystemabhängig. Antwort 2 hier sollte helfen: http://stackoverflow.com/questions/612097/how-can-i-get-the-list-of-files-in-a-directory-using-c-or-c – user4581301