AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sockets: Dateien

Ein Thema von napsterxx · begonnen am 19. Mai 2007 · letzter Beitrag vom 7. Jun 2007
Antwort Antwort
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

Sockets: Dateien

  Alt 19. Mai 2007, 16:37
Also ich wollte das der Client einen Screenshot macht (funktioniert) und lädt diesen in ein Bild. Dieses Bild will ich jetzt dem Server schicken. Und dort ebenfalls in ein TImage laden. Bloß wie? Suche ... nunja sehr viel bloß *nix_raff*^^ nun ja wäre jemand so nett?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Sockets: Dateien

  Alt 19. Mai 2007, 17:14
Wenn du das Bild (als Bitmap) schon hast:
Delphi-Quellcode:
//Client
str:=TMemoryStream.create;
MeinBitmap.savetostream(str);
Clientsocket1.sendstream(str);
//str nicht freigeben, das übernimmt der Socket
Und für das Empfangen auf Serverseite empfehle ich dir einfach mal die Suche...
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Sockets: Dateien

  Alt 20. Mai 2007, 20:55
Das wird so nicht klappen, da SendStream() afair von der aktuellen Position des Streams aus sendet. Von daher vorher die Eigenschaft Position des Streams str auf 0 setzen.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Sockets: Dateien

  Alt 6. Jun 2007, 21:52
kk das geht und empfangen?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Sockets: Dateien

  Alt 6. Jun 2007, 22:31
Mit ReceiveBuf() jedesmal im ClientRead alle vorhandenen Daten auslesen und in einen Stream schreiben bis du alles empfangen hast. Dann kannst du das Bild anzeigen...
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Sockets: Dateien

  Alt 6. Jun 2007, 22:33
un woher weiß ich wann ich es anzeigen kann?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Sockets: Dateien

  Alt 7. Jun 2007, 09:51
Das hängt davon ob, wie du dein Protokoll definierst. Die Sockets übertragen einfach nur Daten und kümmern sich nicht um den Inhalt. Wenn du also unterschiedliche Daten/Informationen übertragen willst, brauchst du eine festgelegte Ordnung/Struktur - sprich: Protokoll. Also einfachstes Protokoll dazu: Übertrage die Grösse der folgenden Daten und dann die Daten. Wenn die empfangenen Daten den vorher gesendeten Umfang erreicht haben, dann hast du alles.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Sockets: Dateien

  Alt 7. Jun 2007, 11:43
verstehe das nicht. Ich arbeite mit einem Protokoll zwar einem sehr kleinen aber immerhin^^
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Sockets: Dateien

  Alt 7. Jun 2007, 12:06
Am einfachsten ist Folgendes: Du schreibst dem Empfänger zu Beginn einfach die Größe des Streams:
clientsocket1.socket.sendbuf(str.size,sizeof(int64)); Der Server weiß, dass zuerst eine Größenangabe ankommt, und speicherst diese in einer Variablen.

Und außerdem liefere ich hier mal ein paar Schlüsselworte für die Suche: Hier im Forum suchenStream Socket. Es wird ziemlich viel erklärt, allerdings meiner Meinung nach nicht immer verständlich, also keine falsche Scham beim Fragenstellen!
Hoffe, geholfen zu haben
Apollonius
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:37 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