AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Simultan 2 Streams empfangen
Thema durchsuchen
Ansicht
Themen-Optionen

Simultan 2 Streams empfangen

Ein Thema von 0x802b · begonnen am 15. Nov 2007 · letzter Beitrag vom 17. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
0x802b
(Gast)

n/a Beiträge
 
#1

Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 17:49
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
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 18:17
Solange du unterschiedliche Sockets verwendest, kannst du ganz ohne Probleme (fast) beliebig viele Daten gleichzeitig empfangen und diese problemlos auseinander halten.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
0x802b
(Gast)

n/a Beiträge
 
#3

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 18:19
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
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#4

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 18:58
Dafür brauchst du nur einen Port. Vom Server her jedenfalls.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#5

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 19:46
ja einfach zwei verbindungen zum server aufbauen

Client A ladet datei A
Client B ladet datei B
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 19:47
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.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 20:00
Zitat von gsh:
Client A ladet datei A
[OT] ... lädt ... [/OT] Das musste sein, Tschuldigung.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#8

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 20:03
Zitat von alzaimar:
Zitat von gsh:
Client A ladet datei A
[OT] ... lädt ... [/OT] Das musste sein, Tschuldigung.
[OT]
was?
man kann auch ladet sagen
bzw:
Client A ladet die datei A[/OT]
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#9

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 20:08
[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]
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
0x802b
(Gast)

n/a Beiträge
 
#10

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 20:53
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 :-*
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz