![]() |
WinSocket Bild versenden
Hy liebe Delphianer,
ich habn Netzwerkprogramm geschrieben und möchte nun mit den WinSockets gerne ein Bild übertragen. Leider kommt immer nur ein Bild mit 0kb an. Was ist das los Habn schon das ganze Forum umgepflügt, aber nichts gefunden... Hier der Quellcode:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, ExtCtrls, StdCtrls; type TForm1 = class(TForm) ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; Button1: TButton; Image1: TImage; Button2: TButton; Image2: TImage; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin clientsocket1.Active:=true; end; procedure TForm1.Button2Click(Sender: TObject); var FStream : Tfilestream; begin FStream := TFileStream.Create('C:\Dokumente und Einstellungen\MattiVsRob\Desktop\tele3.bmp', fmOpenRead); clientsocket1.Socket.SendStream(FStream); end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var stream:Tfilestream; begin stream.free ; Stream := TFileStream.Create('C:\Dokumente und Einstellungen\MattiVsRob\Desktop\tele100.bmp', fmCreate or fmOpenWrite); end; end. Alles klar bis denn dann robert |
Re: WinSocket Bild versenden
Hi Tzuxy,
im ServerSocket1ClientRead-Ereignis musst du noch ![]() Außerdem muss der Stream auch wieder geschlossen werden. Greetz alcaeus |
Re: WinSocket Bild versenden
Der Servesocket kennt diese Prozedur aber nicht. Es gibt dor kein socket.readstream?
was soll ich dann machen? Ich möchte eigentlich bloß n kleines Chatprog schreibe, mit dem man Text und Bilder verschicken kann. Welche Sockets sind denn dafür noch gut geeignet? |
Re: WinSocket Bild versenden
Du brauchst auch das Socket.ReceiveBuf-Event ;-)
|
Re: WinSocket Bild versenden
So hab das ma versucht. keine fehlermeldung, aber wird nichts übrtragen
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Image1: TImage; Button2: TButton; Image2: TImage; ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin clientsocket1.Active:=true; end; procedure TForm1.Button2Click(Sender: TObject); var FStream : Tfilestream; begin FStream := TFileStream.Create('C:\Dokumente und Einstellungen\MattiVsRob\Desktop\maus.jpg', fmOpenRead); clientsocket1.Socket.SendStream(FStream); end; procedure TForm1.ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); var stream:Tfilestream; begin serversocket1.Socket.ReceiveBuf(stream, 1); Stream := TFileStream.Create('C:\Dokumente und Einstellungen\MattiVsRob\Desktop\maus1.jpg', fmCreate or fmOpenWrite); stream.free ; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz