Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача типа рекорд с помощью TCLientSocket/TServerSocket


RagE ©   (2004-07-14 15:48:00) 

Подскажие плиз как передавать типа record а то у меня какая то лажа приходит. Отправляю с помощью SendBuf принимаю ReceiveBuf
размер структуры 292 байта. Переданная и принятая инфа не совпадают вовсе


RagE   (2004-07-14 16:36:00) [1]

Всем спасибо проблему решил. Вся проблема была в том что я принимал структуру в PChar который мне потом дров и наламывал


Анонимщик   (2004-07-14 16:28:00) [2]

Это смотря как потом заливать.
Ну ладно, будем считать, что я неправильно угадал.


Григорьев Антон   (2004-07-14 16:23:00) [3]


> SendBuf(aMR, SizeOf(TMyRec)); // сколько будет отправлено?


Будет отправлено ровно столько, сколько структура занимает в памяти. Если она не упакована, то в её размер будет включен и размер выравнивающих байт. Главное, чтобы на обеих сторонах выравнивание было одинаковым.


Reindeer Moss Eater   (2004-07-14 16:20:00) [4]

Тогда относится? Проблема - в SizeOf.

не относится ни грамма.


Анонимщик   (2004-07-14 16:19:00) [5]

А если так:

TMyRec = {packet} record
 b: Byte; // 1 байт
 i: Integer; // 4 байта
        end;

var
 aMR: TMyRec;
begin
SendBuf(aMR, SizeOf(TMyRec)); // сколько будет отправлено?
end;

Тогда относится? Проблема - в SizeOf.


Григорьев Антон   (2004-07-14 16:13:00) [6]


> Анонимщик ©   (14.07.04 16:04) [2]
> Нужно использовать
> packet record


Это к делу не относится. Неупакованная запись приведёт к лишнему трафику, но не к искажениям.

А может, в записи есть string или динамические массивы?


Анонимщик   (2004-07-14 16:04:00) [7]

Нужно использовать
packet record


Digitman   (2004-07-14 15:53:00) [8]

код покажи


Наверх

Титульная страница Поиск, карта сайта Написать письмо