Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 20:26   #1
Dexes
Пользователь
 
Регистрация: 27.12.2011
Сообщений: 86
По умолчанию Indy как узнать размер входящего пакета?

Работаю через TIdTCPServer.
Входящий пакет ловлю данной процедурой
Код:
procedure TForm1.TCPServerExecute(AThread: TIdPeerThread);
var
  CommBlock: TCommBlock;
  NewCommBlock: TCommBlock;
  ActClient: PClient;
  Coords : TPoint;
begin
  if not AThread.Terminated and AThread.Connection.Connected then
    begin
      ActClient := PClient(AThread.Data);
      ActClient.LastAction := Now;
      case <Что здесь должно быть? Как узнать длину пакета?> of
        sizeOf(CommBlock) :
          begin
            AThread.Connection.ReadBuffer (CommBlock, SizeOf (CommBlock));
            NewCommBlock.Command := 'Next';
            NewCommBlock.Msg := 'Alright! I get your CommBlock';
            Protocol.Lines.Add(NewCommBlock.Msg);
            AThread.Connection.WriteBuffer (NewCommBlock, SizeOf (NewCommBlock), true);
          end;
        sizeOf(Coords) :
          begin
            AThread.Connection.ReadBuffer (CommBlock, SizeOf (CommBlock));
            NewCommBlock.Command := 'Next';
            NewCommBlock.Msg := 'Alright! I get your TPoint';
            Protocol.Lines.Add(NewCommBlock.Msg);
            AThread.Connection.WriteBuffer (NewCommBlock, SizeOf (NewCommBlock), true);
          end;
        end;
    end;
end;
Вот собственно и вопрос, как узнать длину входящего пакета?
Dexes вне форума Ответить с цитированием
Старый 11.05.2012, 21:18   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

ТСП передаёт поток данных, длину пакета следует передавать самому.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать размер чужой программы? maks5 Общие вопросы Delphi 4 05.01.2012 23:35
firemonkey Как узнать размер экрана? pavellyba Общие вопросы Delphi 7 25.10.2011 15:04
Как узнать размер изображения Lokos Мультимедиа в Delphi 3 21.12.2009 16:44
Как узнать размер файла? photozaz Общие вопросы Delphi 4 01.08.2008 00:29
Как узнать размер массива мандарин Общие вопросы Delphi 2 30.05.2007 19:18