![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить ответ от IdUDPServer ввиде структуры? [D5, XP]
Юнкер © (2006-05-25 00:12:00)Я отправляю с клиента серверу структуру:
type Tim = packed record
Time, CurSess, Total : Integer;
Off : Boolean; Desc : String;
end;
var
myvar : Tim;
На сервере подготовлена такая же структура
получаю в нее на сервере, все нормально:
procedure TMainFrm.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding : TIdSocketHandle);
var
mydata : TMemoryStream;
S : String;
begin
AData.Position:=0;
mydata := TMemoryStream.Create;
mydata.CopyFrom(AData, AData.Size);
mydata.Position := 0;
mydata.Read(myvar, mydata.Size); // здесь получил,
// немного изменил и надо отправить ее в ответ обратно
// а в примерах к Indy я нашел только как отправить строку
S := {моя строка}
ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, S[1], Length(S));
Вопрос, можно ли, если да, то как, отправить ответом такую же структуру и как ее получить(прочитать) на клиенте.
Помогите пожалуйста.
Юнкер (2006-05-25 11:22:00) [1]Наверное я неправильно вопрос задал.
Мне нужно вместо строки:
S := {моя строка}
ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, S[1], Length( S));
Послать в ответ запись myvar : Tim;
Это возможно? Как это сделать?
Я честно пытался сам, но не получилось.