Главная страница
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.025 c
14-1094135152
Суслик
2004-09-02 18:25
2004.09.19
Прикол про поисковые сервера.


1-1094267367
Aono4ever
2004-09-04 07:09
2004.09.19
Переход к фиксированному значению через текущее


1-1094041802
ShimON
2004-09-01 16:30
2004.09.19
размер Dll


1-1094028027
Vn
2004-09-01 12:40
2004.09.19
Как програмно изменить размеры панелей посредством TSplitter?


3-1093324233
Janbolat
2004-08-24 09:10
2004.09.19
Как поймать момент дублирования индекса?