Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/11/2007, 04:00
clinisbut
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Tratar datos socket

Bueno, creo que ya lo tengo solucionado.
Investigando he entendido que es un variant:
Variants, SAFEARRAYS y BSTRs

Encapsulando un SAFEARRAY en el VARIANT puedo después extraer los datos facilmente como chars.

Código:
void CIFDlg::OnDataArrivalWinsock(long bytesTotal)
{
        lngt = (short) bytesTotal;
        type = (short)(VT_ARRAY|VT_UI1);
        m_Winsock.GetData( &data, type, lngt );
        int Count= data.parray->rgsabound[0].cElements;
        unsigned char *p = (unsigned char *)data.parray->pvData;

        int i;
        for(i=0; i<(int)bytesTotal; i++)
        {
                CString aux;
                aux.Format( _T("Value %c"), *p );
                MessageBox( aux );
                p++;
        }

}