PDA

Просмотр полной версии : Проблема с сокетами!!



Vano
17.12.2004, 18:43
У типа TCustomWinSocket есть методы SendBuf и SendStream.
Когда я пытаюсь послать структуру (record) с помощью SendBuf у меня ничего не получается :(. Если есть у кого-нибудь пример с использованием этих методов вышлите мне его, буду очень благодарен!!!
А теперь мой вопрос. Можно ли как то эту структуру "запихнуть" в поток TStream, или ему подобный, и отправить с помощью метода SendStream?????

xpymep
17.12.2004, 19:11
А теперь мой вопрос. Можно ли как то эту структуру "запихнуть" в поток TStream, или ему подобный, и отправить с помощью метода SendStream?????
Да, можно, но будет смотрется спецефически :) (C++ Builder, на Делфи я не пишу, но не думаю,что тебе составит труда перевести этот код)


//Client:
struct record
{
int firstparam,secondparam;
};
record rec;
TStringStream *str1 = new TStringStream("_"+IntToStr(rec.firstparam));
TStringStream *str2 = new TStringStream("@"+IntToStr(rec.secondparam));// "_" & "@" - это некий //идентификатор
somesocket->SendStream(str1);
somesocket->SendStream(str2);
//Server
struct record
{
int firstparam,secondparam;
};
record rec;
AnsiString str = somesocket->RecieveStream();
if (str[1]='_')
{
str.delete(1,2);
rec.firstparam = StrToInt(str);
}

if (str[1]='@')
{
str.delete(1,2);
rec.secondparam = StrToInt(str);
}

Vano
17.12.2004, 21:47
В C++ это это всё делается легко ипросто. У меня в C++ не возникает проблем с указателями, а тут .... :( лажа. Спасибо за альтернативу :).

Vano
21.12.2004, 23:50
Всё я уже разобрался что к чему :)!