Genau so mein ich das.
MFG
Blackskyliner
SendNetworkFile() und ReceiveNetworkFile()
- Blackskyliner
- Beiträge: 532
- Registriert: 28.07.2005 00:54
- Wohnort: /home/Blackskyliner/
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
also das zurückschicken irgendwelcher Ok-Bestätigungen lässt mich irgendwie zusammenzucken
das ist mehr so ums Problem herum programmiert
@PMV: mal ein ganz anderer Ansatz, der technisch gesehen sogar die m.E. sauberste Lösung wäre:
am Empfänger (Server) das ReceiveNetworkFile() in einen Thread auszulagern. Somit sollte der Server sofort wieder den nächsten Request entgegennehmen und den nächsten Thread starten können.

@PMV: mal ein ganz anderer Ansatz, der technisch gesehen sogar die m.E. sauberste Lösung wäre:
am Empfänger (Server) das ReceiveNetworkFile() in einen Thread auszulagern. Somit sollte der Server sofort wieder den nächsten Request entgegennehmen und den nächsten Thread starten können.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."
Es gibt keine Vista-Witze. Es ist alles wahr!
Es gibt keine Vista-Witze. Es ist alles wahr!
Also das mit dem zurückschicken von Bestätigungen find ich auch nicht so
toll, da ich ja dann zwangsläufig auf ReceiveNetworkData() angwiesen
bin. Und wenn ich das benutzen muss, kann ich gleich auf Send - und
ReceiveNetworkFile() verzichten, und das ganze von Grund auf selber
bauen!
Für jede empfangene Datei einen Thread zu starten, halte ich aber auch
nicht für sehr sinvoll. Stell Dir mal vor Du willst 500 Dateien verschicken
Ich habe es jetzt jedenfalls so gemacht, dass ich in einer Repeat - Forever
Schleife so lange Sendnetworkfile() aufrufe bis es 1 ergibt. Wenn dies
nämlich geschieht, war der Empfänger mit dem zuvor gesendeten File
fertig, und ReceiveNetworkfile() hat das nächste angenommen.
Das ist überhaut das Problem. SendNetworkFile() gibt 1 zurück, wenn
ReceiveNetworkFile() die Datei angenommen hat. Besser wäre es wenn
die 1 erst beim Ende der Übertragung zurückgegeben würde, und so lange
das Programm blockiert. In meinen Augen macht die Kombination dieser
beiden PB-Befehle nur so richtig sinn!
Aber das ist nur die Meinung eines Netzwerk-Laien. Vielleicht hat es ja
einen Grund warum das in PB anders gelöst wurde!
toll, da ich ja dann zwangsläufig auf ReceiveNetworkData() angwiesen
bin. Und wenn ich das benutzen muss, kann ich gleich auf Send - und
ReceiveNetworkFile() verzichten, und das ganze von Grund auf selber
bauen!
Für jede empfangene Datei einen Thread zu starten, halte ich aber auch
nicht für sehr sinvoll. Stell Dir mal vor Du willst 500 Dateien verschicken

Ich habe es jetzt jedenfalls so gemacht, dass ich in einer Repeat - Forever
Schleife so lange Sendnetworkfile() aufrufe bis es 1 ergibt. Wenn dies
nämlich geschieht, war der Empfänger mit dem zuvor gesendeten File
fertig, und ReceiveNetworkfile() hat das nächste angenommen.
Das ist überhaut das Problem. SendNetworkFile() gibt 1 zurück, wenn
ReceiveNetworkFile() die Datei angenommen hat. Besser wäre es wenn
die 1 erst beim Ende der Übertragung zurückgegeben würde, und so lange
das Programm blockiert. In meinen Augen macht die Kombination dieser
beiden PB-Befehle nur so richtig sinn!
Aber das ist nur die Meinung eines Netzwerk-Laien. Vielleicht hat es ja
einen Grund warum das in PB anders gelöst wurde!
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... 

Ich sach ja, vielleicht möge sich ein PBTeammitglied dazu äußern, ich finde den Fall auch spannend. Und den Sinn möchte ich auch gern mal hören.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End