Мужик ты не представляешь как я рад снова видеть тебя тут.
- Нет. Вот представь два устройства которые общаются между собой по и я тот кто подключился к этой сети и перехватываю зашифрованные данные и нужно их дешифровать грубо говоря.
Вот например: Первый девайс посылает второму запрос что бы узнать IMEI и я перехватил этот запрос и начал обработку.
Text:=Comport.ReadAnsiString; //Пакет данных
Код:
2022-10-18 12:19:56:
Sim900_Write-81:
AT Send, len is 9 AT+CGSN
if pos('AT+CGSN', Text)<>0 then
//вот тут должен уже получить IMEI
А имеи придет в следующем пакете в форме в следующем цикле для меня а если смотреть на время ответ приходит в эту же секунду
Код:
2022-10-18 12:19:56:
Module_Wait_Sync-373:
AT Recv, len is 25
868895056178897
И как перехватывать и обрабатывать такие данные если в одной секунде приходят 10-30 пакетов. Возможности собрать а потом обработать нету потому что чем медлить тем больше информации накопиться и парсить будет не выгодно по времени. К примеру девайс уже отключился а мой софт еще даже дату не смог парсить ИМЕИ к примеру.
Я многое сейчас заново вспоминаю много времени прошло.
Мучают вопрос на которые сможешь только ты ответить.
1. Если после перехвата
if pos('AT+CGSN', Text)<>0 then передать данные на обработку к другой процедуре она будет параллельно работать?
Вот например
Код:
Text:=Comport.ReadAnsiString;
if pos('AT+CGSN', Text)<>0 then
begin
//парсим данные тут
end;
if pos('GSN', Text)<>0 then
begin
//парсим данные тут
end;
if pos('CSQ', Text)<>0 then
begin
//парсим данные тут
end;
или после перехвата передать данные процедуре
Код:
Text:=Comport.ReadAnsiString;
if pos('AT+CGSN', Text)<>0 then
begin
AT_CGSN:=STRING(Text);
AT_CGSN; //процедура
end;
if pos('GSN', Text)<>0 then
begin
GSN:=STRING(Text);
GSN; //процедура
end;
if pos('CSQ', Text)<>0 then
begin
CSQ:=STRING(Text);
CSQ; //процедура
end;
втором случае как бы передаем пакет процедуре идем дальше.
Какой из них быстрее или разницы не будет??