我想要做的HttpServer用Delphi 7 /印(9)組件(控制檯應用程序,而無需表單/應用):如何使控制檯應用程序中印的httpserver
更新:一個完整的控制檯例如用無限循環。
program httpserver;
{$APPTYPE CONSOLE}
uses
IdHTTPServer, IdTCPServer, IdCustomHTTPServer;
Type
TCommandHandler= class
protected
procedure DoCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
end;
{$R *.res}
var Server:TIdHTTPServer ;
CH:TCommandHandler;
procedure TCommandHandler.DoCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
AResponseInfo.ResponseText := '1234';
end;
begin
Server := TIdHTTPServer.Create(nil);
CH := TCommandHandler.Create;
Server.OnCommandGet :=CH.DoCommandGet;
Server.DefaultPort := 3030;
Server.Active := True;
while true do ;
end.
但不行!我讀了indy的源代碼,並沒有成功搜索谷歌。
UPDATE:
- 沒有循環,程序結束(當然...)
- 隨着循環,響應很奇怪(的狀態碼級聯 - OK +響應) http://www.image-share.com/upload/2766/294.png 。
- 使用表格,回覆是確定的。 http://www.image-share.com/upload/2766/295.png
或許與印一個bug /限制......
它工作正常。只是當你的應用程序碰到'end;'時(這實際上是一個'end.',順便說一句 - 請在這裏提問時發佈你真實的代碼)。爲了使代碼保持運行,您需要一個循環,直到您告訴它停止退出條件爲止。 (對於未來的問題,「不起作用」不是一個好問題描述;你需要告訴我們它是如何以你期望的方式工作的。) – 2014-11-25 01:45:58