 |
|

22.08.2009, 18:00
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
С нами:
10088966
Репутация:
646
|
|
Сообщение от НTL
send(s,buf,SizeOf(buf),0);
recv(s,buf2,SizeOf(buf2),0);
циклом читай
|
|
|

22.08.2009, 18:29
|
|
Познающий
Регистрация: 24.05.2009
Сообщений: 46
С нами:
8929761
Репутация:
27
|
|
А может кто нибудь посоветовать книги по изучению Паскаля для новичка?
|
|
|

23.08.2009, 01:33
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
В http://slil.ru/27918620 (http sender (slesh'a))
Код:
procedure TForm1.Button8Click(Sender: TObject);
var
thId:cardinal;
begin
CreateThread(0,0,@Getdata,nil,0,thid);
{
Мой код, который надо выполнять после получения ответа
}
end;
Как мне выполнить свой код, после получение ответа?
|
|
|

23.08.2009, 02:09
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами:
8817310
Репутация:
108
|
|
Сообщение от Dr.Perry_Cox
А может кто нибудь посоветовать книги по изучению Паскаля для новичка?
Поищи по форуму, там есть темы по литературе, а сдесь задают вопросы по кодингу.
|
|
|

23.08.2009, 03:23
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами:
8947056
Репутация:
229
|
|
Сообщение от НTL
В http://slil.ru/27918620 (http sender (slesh'a))
Код:
procedure TForm1.Button8Click(Sender: TObject);
var
thId:cardinal;
begin
CreateThread(0,0,@Getdata,nil,0,thid);
{
Мой код, который надо выполнять после получения ответа
}
end;
Как мне выполнить свой код, после получение ответа?
Что мешает сравнить строки куда пришел ответ (к примеру если первая строка(куда принимался ответ) пуста то значит нету ответа и ничего делать не надо)
|
|
|

23.08.2009, 03:41
|
|
Новичок
Регистрация: 18.02.2008
Сообщений: 6
С нами:
9594351
Репутация:
0
|
|
Не могу понять по чему обрезается post запрос. В начале на несколько байт и в конце на 1. delphi 2009.
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
HTTPAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2; .NET CLR 3.5.21022)';
FlexEngine = 'http://127.0.0.1;
FlexContent = #$00#$03#$00#$00#$00#$01#$00#$0D#$75#$73#$65#$72#$2E#$73#$65#$6E#$64#$47#$69#$66#$74#$00#$02#$2F#$31#$00#$00#$00#$A2#$0A#$00#$00#$00#$01#$11#$0A#$0B#$01#$15#$66#$72#$69#$65#$6E#$64#$5F#$75#$69#$64#$06#$0F#$35#$35#$30#$34#$33#$38#$38#$03#$6B#$06#$41#$30#$64#$30#$62#$39#$37#$66#$32#$62#$61#$34#$38#$35#$37#$38#$30#$65#$35#$33#$31#$37#$33#$32#$30#$39#$33#$32#$36#$31#$34#$39#$36#$03#$74#$06#$15#$31#$32#$34#$39#$39#$31#$34#$32#$37#$39#$0F#$67#$69#$66#$74#$5F#$69#$64#$06#$11#$31#$39#$36#$39#$31#$30#$31#$35#$11#$61#$75#$74#$68#$63#$6F#$64#$65#$06#$11#$35#$31#$35#$31#$38#$37#$34#$30#$0F#$6D#$65#$73#$73#$61#$67#$65#$06#$01#$03#$6C#$06#$05#$72#$75#$13#$73#$65#$6E#$64#$5F#$74#$79#$70#$65#$04#$01#$0F#$66#$61#$72#$6D#$75#$69#$64#$06#$0F#$38#$38#$32#$32#$35#$32#$39#$01#$00;
ContentType = 'application/x-amf';
var
SL: TStringList;
begin
idHTTP1.ProxyParams.ProxyServer:='127.0.0.1';
idHTTP1.ProxyParams.ProxyPort:=8888;
IdHTTP1.Request.UserAgent := HTTPAgent;
SL := TStringList.Create;
SL.Add(FlexContent);
IdHTTP1.Request.ContentType := ContentType;
try
Showmessage(IdHTTP1.Post(FlexEngine, SL));
finally
SL.Free;
end;
//Memo1.Text := t.DataString;
end;
Последний раз редактировалось hav0k; 23.08.2009 в 04:15..
|
|
|

23.08.2009, 03:45
|
|
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
С нами:
8960826
Репутация:
2261
|
|
1.пользуй теги [code][/cоde]
2. с чего взял что обрезается - чем докажешь?
логи с локального сниффера с студию.
nirsoft.net - там SmartSniff и SocketSniff.
Можешь ими посмотреть то, какие на самом деле шлются и принимаются запросы.
И показать нам.
Последний раз редактировалось ErrorNeo; 23.08.2009 в 03:48..
|
|
|

23.08.2009, 04:23
|
|
Новичок
Регистрация: 18.02.2008
Сообщений: 6
С нами:
9594351
Репутация:
0
|
|
Я принимал запросы чарльзом через виртуальный прокси сервер.
То есть я словил запрос этим же чарльзом и вставил в код (FlexContent).
Потом посмотрел опять через чарльз запрос не такой. Обрезан с начала и с конца.
Завтра лог скину. #$00 вроде их то и обрезает...
Последний раз редактировалось hav0k; 23.08.2009 в 13:50..
|
|
|

23.08.2009, 13:56
|
|
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
С нами:
9416345
Репутация:
165
|
|
Сообщение от НTL
В
Как мне выполнить свой код, после получение ответа?
Тут можно придумывать массу вариантов.. Но если ты будешь в главном потоке проверять пришол ли ответ, то вся форма будет висеть. Создай лучше новый поток, сразу после создания потока GetData,в котором ты будешь ожидать пока не придет пакет. Можешь даже заюзать TEvent события для ожидания пока завершится поток
(event.waitfor(infinite); )
|
|
|

23.08.2009, 22:59
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Как при вызове потоков с помощью: CreateThread()
Очистить память по завершению потоков?
|
|
|
|
 |
|
|
Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
|
|
|
|