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 16. Nov 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von gsh
gsh

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

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 21:07
Zitat von 0x802b:
Ehm...ist es denn zu empfehlen mehrere Sockets zu benutzen?
imho ja

Zitat von 0x802b:
Wie ist das mit der Firewall...muss ich da jedesmal wieder neuen Zugriff erlauben?
nein im normallfall nur einmal außer er hat ne ganze komische einstellung
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
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Simultan 2 Streams empfangen

  Alt 15. Nov 2007, 21:43
Also der Server sendet auf dem gleichen Socket abwechselnd Datei A und dann Datei B? Hab ich das richtig verstanden? Also, wer macht denn sowas?
du musst ja eh einen Header zu deinen Paketen schnüren. Dann liefer doch neben der Stream-Position auch eine DateiID.

btw: Du kannst auch mehrere Sockets auf einen Port legen. Sie dürfen dann nur nicht dieselbe Remote-Adresse haben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
0x802b
(Gast)

n/a Beiträge
 
#13

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 13:15
Wie meinsten das jetzt?
Nicht die selbe Remote Address...
Das ist doch eigentlich vorrausgesetzt wenn der Client mehrere Sockets zum Server aufbauen würde.
Die Remote Adresse wären dann ja auch zwangsweise gleich.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#14

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 13:21
Zitat von 0x802b:
Die Remote Adresse wären dann ja auch zwangsweise gleich.
Wieso sollte das der Fall sein? Stell Dir einfach mal vor, dass Dein Rechner mehr als eine Netzwerkkarte hätte (ja, solche Rechner gibt's). Das ermöglicht Dir die Verwendung von mindestens zwei verschiedenen Adressen. Aber auch bei einer Karte gibt es schon mehr als eine Remoteadresse, so hört z.B. die Karte auf der Loopback-Adresse ebenso wie unter vergebenen IP mit. Dazu kannst Du dann z.B. noch einen VPN-Tunnel öffnen, bekommt auch eine eigene Adresse, alles über einen Netzwerkadapter. Kommen Pakete an kann man dann immer noch nach Remoteadresse filtern.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 13:23
Zitat von 0x802b:
Das ist doch eigentlich vorrausgesetzt wenn der Client mehrere Sockets zum Server aufbauen würde.
Die Remote Adresse wären dann ja auch zwangsweise gleich.
Die Adresse besteht aus IP und Portnummer. Es muss also entweder am Server oder am Client die Sockets auf verschiedene Portnummern gelegt werden.

Ich habe aber immer noch nicht kapiert, was genau du warum machen willst.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
0x802b
(Gast)

n/a Beiträge
 
#16

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 13:50
Ich glaub wir reden aneinander vorbei

Also.. Client X verbindet zu Server Y

Server Y schickt jetzt meinetwegen den Befehl, dass Client X eine Datei schicken soll...
Client X erzeugt den Stream, gleichzeitig soll Server Y aber auch noch in der Lage sein, weitere Befehle an Client X zu senden wie zb. einen zweiten Dateitransfer oder was auch immer(hauptsache es werden Daten ausgetauscht).
Das Problem ist ja aber, dass (wie im ersten Post ausführlich beschrieben) dies simultan passieren soll, ohne das sich die Resultate der Befehle vermischen.

Das ganze soll aber über einen einzigen Port laufen..
Nun wurde vorgeschlagen im Clienten ein neues Socket aufzusetzen und dort eine Art 2te Verbindung zum Server aufzubauen (Aber trotzdem auf dem selben Port)

@Der Unwissende
Ich will keine VPN Verbindungen aufbauen oder meine 2te Netzwerkkarte mit einbeziehen, es gibt ein Clienten Programm und ein Server Programm, welche unabhängig von der Anzahl der Netzwerkkarten laufen sollen..
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 14:01
Ja, also wenn du dafür eine zweite Verbindung aufbaust, brauchst du mindestens auf einer Seite einen weiteren Port.

Aber du kannst die Daten doch genausogut über einen SocketStream schicken. Du musst doch eh einen Paketheader mitnehmen. Dann kannst du im Recieve-Ereignis deine Pakete wieder auseinanderbasteln.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#18

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 14:08
Wenn du eine TCP/IP Verbindung für mehrere Streams gleichzeitig verwenden möchtest, brauchst du ein entsprechendes Protokoll bzw. Containerformat.
Bei AVI laufen z.B. ein Video- und ein Audiostream quasi parallel.
Auch das OGG Format wäre ein guter Startpunkt.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#19

Re: Simultan 2 Streams empfangen

  Alt 16. Nov 2007, 23:26
Folgendes Szenario: Du hast eine Verbindung zum Server hergestellt und hast eine aktive Verbindung (Control Socket). Jetzt möchtest du 2 Dateien vom Client zum Server schicken. Du generierst dir eine eindeutige ID, die du an den Server schickst mit zusätzlichen Infos zur Datei (Pfad, etc). Jetzt stellst du mit einem 2. Socket eine Vrebindung zum selben Server auf dem selben Port her und sendest die UID. Der Server identifiziert das Socket mit dem Transfer; der Client fängt an die Datei zu schicken. Dieser Prozess kann parallel ablaufen, da der Server jeweils ein anderes Socket für die Transfers verwendet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:11 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