Einzelnen Beitrag anzeigen

ermler1992

Registriert seit: 31. Dez 2007
8 Beiträge
 
#8

Re: Image per Socket verschicken

  Alt 29. Jan 2009, 16:38
Ich glaube ich habe soweit alles verarbeitet.

Server:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Stream:=TMemorystream.Create;
end;

procedure TForm1.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var BufSize: Integer;
  s: String;
begin
Bufsize:=serversocket.Socket.receivelength;
stream.size:=bufsize;
serversocket.Socket.ReceiveBuf(stream,BufSize);
ImBild.picture.bitmap.loadfromstream(stream);
stream.free;
end;
der Server kann ohne Probleme kompiliert werden.

Client:
Delphi-Quellcode:
procedure TForm1.BtConnectClick(Sender: TObject);
begin
ClientSocket.host:=EdServerIP.Text;
ClientSocket.Active:=true;
LbStatus.Caption:='Connected';
end;

procedure TForm1.BtSendClick(Sender: TObject);
var stream:TMemorystream;
ssize:integer;
begin
Stream:=TMemoryStream.Create;
ssize:=stream.size;
Impicture.Picture.Bitmap.SaveToStream(Stream);
Stream.Position:=0;
ClientSocket.Socket.SendBuf(ssize, SizeOf(ssize));
clientsocket.socket.sendstream(Stream);
end;
Das Problem mit dem Konstantenobjekt habe ich jetzt gelöst und hier korrigiert. Habe stream.size in die Variable ssize geschrieben. Jetzt bekomme ich beim senden der daten folgende Fehlermeldungen:

http://87.106.244.110/daten/bilder/meldung2.bmp

und


http://87.106.244.110/daten/bilder/meldung1.bmp
  Mit Zitat antworten Zitat