Форум: "Сети";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизПередача типа рекорд с помощью 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c