Hi,
ich habe folgendes Problem, ich muss über eine Socketverbindung Daten versenden, dabei hat der Empfänger nur einen receive buffer der folgendermassen definert ist: buff[512].
Nun bin ich in der Situation, wo ich Daten über [512] zeichen versenden muss.. ich wollte das nun folgendermassen über einen stringstream lösen.
Ich hatte die Hoffnung über diese Methode max. 512 Zeichen große "Packete" an den Client senden zu können. Nur leider kommen nur Sonfderzeichen ala "8 à Ð =Ð=¼D¬ " beim Client an...
Hat jemand ne Idee wie ich das ganze richtig mache oder eleganter lösen kann ?¿?
ich habe folgendes Problem, ich muss über eine Socketverbindung Daten versenden, dabei hat der Empfänger nur einen receive buffer der folgendermassen definert ist: buff[512].
Nun bin ich in der Situation, wo ich Daten über [512] zeichen versenden muss.. ich wollte das nun folgendermassen über einen stringstream lösen.
PHP:
BOOL SendEx(SOCKET sClient, CString stData)
{
int nRet;
char sendBuff[SRV_PSIZE];
CString stTmp = stData;
if(stTmp.IsEmpty())
return false;
int sizeOfBuffer = stTmp.GetLength();
if(sizeOfBuffer <= SRV_PSIZE)
{
strcpy_s(sendBuff, SRV_PSIZE, stTmp.GetBuffer());
nRet = send(sClient, sendBuff, sizeof(sendBuff), 0);
if(nRet == 0 || nRet == SOCKET_ERROR)
return false;
}
else
{
stringstream stream( stTmp.GetBuffer(), sizeof( stTmp ) );
while(!stream.eof())
{
nRet = send(sClient, (char*)&stream, SRV_PSIZE, 0);
if(nRet == 0 || nRet == SOCKET_ERROR)
return false;
}
}
return true;
}
Ich hatte die Hoffnung über diese Methode max. 512 Zeichen große "Packete" an den Client senden zu können. Nur leider kommen nur Sonfderzeichen ala "8 à Ð =Ð=¼D¬ " beim Client an...
Hat jemand ne Idee wie ich das ganze richtig mache oder eleganter lösen kann ?¿?