Delphi IdHttp 구성 요소 + IdHttp Server 구성 요소 파일 다운로드 서비스
2043 단어 DELPHI
uses idhttp,IdHTTPServer;
//idhttp
procedure TVodService.Button3Click(Sender: TObject);
var
h:TIdhttp;
MyStream:TMemoryStream;
url:string;
begin
MyStream:=TMemoryStream.Create;
h:=Tidhttp.Create(nil);
url:='http://192.168.0.254:9003/GetIni';//
try
h.get(url,MyStream);// except
Application.Messagebox(' , ',' ',MB_OK+MB_ICONERROR) ;
MyStream.Free;
h.free;
exit;
end;
MyStream.SaveToFile(extractfilepath(application.exename)+'System.ini');
MyStream.Free;
h.free;
end;
//IdHttpSever
procedure TVodService.DataModuleCreate(Sender: TObject);// IdHttpServer
var
hport:integer;
Binding : TIdSocketHandle;
begin
try
VodHttpServer.Bindings.Clear;
Binding := VodHttpServer.Bindings.Add;
Binding.Port:=9003;
binding.IP:='192.168.0.254';
VodHttpServer.Active:=true;
except
on e:Exception do
begin
FrmMain_VodSer.write_Logfile(' APP error '+e.message);
end;
end;
end;
procedure TVodService.VodHttpServerCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);//
var
ByteSent: Cardinal;
LocalDoc:string;
tempstr,ips:string;
len,sport:integer;
begin
tempstr:=ARequestInfo.Document; //
ips:=TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerIP;//
sport:=TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerPort;//
if fileexists(extractfilepath(application.exename)+'System.ini') then
begin
LocalDoc:=extractfilepath(application.exename)+'System.ini';
ByteSent :=VodHttpServer.ServeFile(AThread, AResponseInfo, LocalDoc);
end else
begin
Application.Messagebox(' System.ini!',' ',MB_OK+MB_ICONERROR) ;
end;
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
스마트 포인터(Smart Pointer)의 구현{****************************************************** * * Delphi Smart Pointer class * AutoPtr * Version 0.2 beta * Ya...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.