Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Передача типа рекорд с помощью TCLientSocket/TServerSocket   Найти похожие ветки 

 
RagE ©   (2004-07-14 15:48) [0]

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


 
Digitman ©   (2004-07-14 15:53) [1]

код покажи


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

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


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


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


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

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


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

А если так:

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

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

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


 
Reindeer Moss Eater ©   (2004-07-14 16:20) [5]

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

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


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


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


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


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

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


 
RagE ©   (2004-07-14 16:36) [8]

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



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
14-1093943954
ИМХО
2004-08-31 13:19
2004.09.19
Эмиграция в США или Европу


14-1093540009
Лена
2004-08-26 21:06
2004.09.19
Помогите выбрать клиента для форума.


3-1092978832
bers
2004-08-20 09:13
2004.09.19
*.db сохранить в *.txt


1-1094281938
Андрей.Н
2004-09-04 11:12
2004.09.19
Ошибка при загрузке файлов проекта D6.


4-1091963401
Sadist BOB
2004-08-08 15:10
2004.09.19
панель задач