SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: yoda655 en Miércoles 14 de Septiembre de 2005, 12:52

Título: Recibir Imagen
Publicado por: yoda655 en Miércoles 14 de Septiembre de 2005, 12:52
Si utilizo senbuf me dice ke puede mandar esto, ahora mi duda es como lo recibo y lo asigno a otro image en mi cliente para verlo.

Estoy utilizando Tserversocket y Tclientsocket.

SendBuf(Image->Picture,sizeof(Image->Picture)); :lightsabre:  :lightsabre:
Título: Re: Recibir Imagen
Publicado por: Linspire en Miércoles 14 de Septiembre de 2005, 16:17
La verdad yo no me he metido eso de los Sockets, pero creo que esto puede servirte.

Transferencia de imágenes via Socket (http://foros.ryanstudios.com/viewtopic.php?t=9768)

suerte, Espero te sirva. :hola:
Título: Re: Recibir Imagen
Publicado por: yoda655 en Viernes 16 de Septiembre de 2005, 21:15
Muchas Gracias por la ayuda; a veces las cosas sencillas resultan dificiles

Espero ke en el foro siempre este gente para ayudar como tu. :D  :D

P.D. Que Dios te lo pague.
Título: Re: Recibir Imagen
Publicado por: yoda655 en Viernes 16 de Septiembre de 2005, 23:38
Se me presento un problema   :P ,  es ke deseo visualizar la imagen y no lo hace, si lo recibe el server al cual se lo envio, pero no me lo muestra.

Pongo como esta el codigo; lo puse igual a como me dijiste(nada mas estoy realizando el envio de la imagen para ver si funciona, cuando rule lo meto como un modulo en mi programa ):


//Cliente lo manda

#include <vcl.h>
#pragma hdrstop

#include "clifun.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    //ClientSocket1->Socket->SendText(Edit1->Text);


        if(ClientSocket1->Active) {
            TMemoryStream *stream = new TMemoryStream();
            Image1->Picture->Bitmap->SaveToStream(stream);
            ClientSocket1->Socket->SendBuf(stream, sizeof(stream));
            stream->Free();
        }    
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   Edit1->Text="";    
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ClientSocket1->Port = 23;
    ClientSocket1->Host = "192.168.52.59";
    ClientSocket1->Active = true;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  ClientSocket1->Active = false;        
}
//---------------------------------------------------------------------------



//el ke recibe

--------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "serfun.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
 ServerSocket1->Active = false;      
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ServerSocket1->Port = 23;
    ServerSocket1->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
  // Edit1->Text=Socket->ReceiveText();
 


       TMemoryStream *stream = new TMemoryStream();
        ServerSocket1->Socket->Connections[0]->ReceiveBuf(stream, sizeof(stream));
        stream->Position = 0;
        Image2->Picture->Bitmap->LoadFromStream(stream);
        stream->Free();
        Image2->Show();
        ShowMessage("Recibido");
 }
//---------------------------------------------------------------------------