Datei über Netzwerk versenden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Xzibit

Betreff: Datei über Netzwerk versenden

BeitragSo, Jan 30, 2005 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
sers an alle,

wollte mal fragen ob jemand zufällig nen Code parat hat mit dem man Dateien schnell(!) übers Netzwerk senden kann. Also ich hab zum Beispiel die Datei "Hallo.scr". Die möchte ich erst binär einlesen und dann über eine Tcp Verbindung an einen anderen Rechner im Netzwerk schicken. Der Zielcomputer empfängt dann die Bytes und speichert sie auf der eigenen Festplatte , z.B. unter "C:\Hallo.exe" wieder ab.
Jedoch wenn ich eine Datei über Netzwerk versenden will dann geht des bei mir net recht schnell, weil ich die ganze Datei erst Byte für Byte einlese,dann ca. 100 Bytes über Chr$() in einen String zusammenfasse und dann diesen String über die TcpVerbindung versenden. ^_^
Hat da vielleicht jemand ne bessere Lösung, die die Bytes schneller verschickt ???

Wäre echt nett, wenn ihr mir nen Tipp geben könntet wie....

Vertex

BeitragSo, Jan 30, 2005 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiß, stükelt TCP die Packete selber, deswegen kannste auch ruig größere Packetgrößen wählen. Arbeite zudem am besten mit Banks. Mit Write- und ReadBank kannst du schnell Banks aus Dateien einlesen, sie per TCP verschicken, sie wieder EMpfangen und in eine Datei schreiben.

Ansonsten ist natürlich P2P über UDP schneller.
mfg olli
vertex.dreamfall.at | GitHub
 

Xzibit

BeitragSo, Jan 30, 2005 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
hi ich bins nochmal

sorry aber ich hab kein BlitzMax wenn du das meinst :
Die Befehle Read - und WriteBank funktionieren bei mir in BlitzPlus nicht.
Gibt es denn da keine andere Möglichkeit ? Z.b die Bytes der Datei in ein Feld einzulesen und über Tcp zu versenden - jedoch hab ich auch schon gemerkt, dass man mit BlitzPlus keine Dim-Felder über Netzwerk verschicken kann....also irgendwie muss doch des zu schaffen sein, oder ?....

Vertex

BeitragSo, Jan 30, 2005 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
TCP = OpenTCPStream("www.google.de", 80)
If TCP = 0 Then
   Print "Konnte keine Verbindung zum Server aufbauen!"
   WaitKey : End
EndIf

WriteLine TCP, "GET www.google.de HTTP/1.1"
WriteLine TCP, ""

FileStream = WriteFile("Test.txt")

Buffer = CreateBank(1024)
While Not Eof(TCP)
   Size = ReadBytes(Buffer, TCP, 0, 1024)
   WriteBytes(Buffer, FileStream, 0, Size)
Wend

CloseFile FileStream

CloseTCPStream TCP


Habe es mit BlitzPlus getestet, und es funktioniert.

mfg olli
vertex.dreamfall.at | GitHub
 

Xzibit

BeitragFr, Feb 04, 2005 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Yeah vielen Dank Vertex,

das war genau das wonach ich suchte !!!! Very Happy
Vielen Dank nochmals

Schönen Gruß
Xzibit

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group