![]() |
Simultan 2 Streams empfangen
Hey Leute :)
Ich hab mal wieder eine Frage..und zwar gehts ums "auseinander" halten mehrerer Streams. Um das besser zu Erläutern greife ich mal auf ein Beispiel zurück;) Client verbindet zu Server Client requested 2 Dateien vom Server Der Server schickt nun eine Art "Erkennungswort" + die Dateigröße A Der Client erkennt das "Erkennungswort" und weiß, dass er nen Buffer mit der Dategröße A aufzusetzen hat, um den Stream erfolgreich verarbeiten zu können :) Soweit klar? So...damit die darauf folgenden Daten aber auch wirklich im Buffer landen, setze ich eine Art "Empfangsmodus" für das einzelne Socket, wenn die gefüllte Buffergröße dann = der Dateigröße A ist, kann er den "Empfangsmodus" wieder zurücksetzen und der Transfer ist abgeschlossen. Nun würde ja eigentlich Datei B kommen, aber ich möchte halt, dass beide GLEICHZEITIG ankommen. Bei meiner Methode ist halt das Problem gegeben, dass wenn der Client einen 2ten Stream eröffnet die Streams nicht mehr auseinander gehalten werden können..Zumindest glaube ich das ;) Versteht ihr was ich meine? Ich möchte den Clienten TROTZ eingehendem Transfer noch für neue Aktionen(zb. Transfer einer 2ten Datei) offen lassen... Vllt. könnt ihr mir dabei helfen Mit freundlichen Grüßen 0x802b |
Re: Simultan 2 Streams empfangen
Solange du unterschiedliche Sockets verwendest, kannst du ganz ohne Probleme (fast) beliebig viele Daten gleichzeitig empfangen und diese problemlos auseinander halten.
|
Re: Simultan 2 Streams empfangen
Klar...wie du sagtest..solange ich verschiedenen Sockets verwende^^
Die Daten kommen aber auf dem selben Socket an :> Edit: Oder wäre es sinnvoll ein neues Socket zu verwenden extra für jede Datei? Ich möchte keinen 2ten Port verwenden um die Daten zu senden ;) |
Re: Simultan 2 Streams empfangen
Dafür brauchst du nur einen Port. Vom Server her jedenfalls.
|
Re: Simultan 2 Streams empfangen
ja einfach zwei verbindungen zum server aufbauen
Client A ladet datei A Client B ladet datei B |
Re: Simultan 2 Streams empfangen
Soweit es TCP/IP betrifft, ist ein Socket in erster Näherung eine einzelne TCP/IP-Verbindung. Brauchst du zwei Verbindungen, nimmst du dir einfach zwei Sockets. Ansonsten ist es nicht übermäßig sinnvoll, mehrere Dateien gleichzeitig zu versenden über dieselbe Verbindung. Dann kannst du sie auch nacheinander senden, das ist einfacher.
|
Re: Simultan 2 Streams empfangen
Zitat:
|
Re: Simultan 2 Streams empfangen
Zitat:
was? man kann auch ladet sagen bzw: Client A ladet die datei A[/OT] |
Re: Simultan 2 Streams empfangen
[ot, jetzt kann ich mich auch nicht mehr halten :p]
Ladet kannst du als Imperativ benutzen ("Ladet die Datei herunter!"), aber man lädt eine Datei herunter. In deiner Verwendung wird es nur poetisch benutzt. [/ot] |
Re: Simultan 2 Streams empfangen
:D oh man^^
Ehm...ist es denn zu empfehlen mehrere Sockets zu benutzen? Wie ist das mit der Firewall...muss ich da jedesmal wieder neuen Zugriff erlauben? Danke schonmal für eure Hilfe :-* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz