SendNetworkFile() und ReceiveNetworkFile()

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Beitrag von Blackskyliner »

Genau so mein ich das.

MFG
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
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

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.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

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 :o

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... :lol:
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

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
Antworten