[fpc-pascal] How to stop a HttpApp via request? (Regression)
silvioprog
silvioprog at gmail.com
Thu Oct 17 23:04:23 CEST 2013
Hello,
I updated the fcl-net and fcl-web of my Free Pascal copy, but when I try to
terminate my app via request, it return same error reported in this topic.
My code is:
1. program project1;
2.
3. {$mode objfpc}{$H+}
4.
5. uses
6. heaptrc, sysutils, HttpDefs, CustWeb, CustHTTPApp, FPHTTPServer;
7.
8. type
9.
10. { TMyHttpApplication }
11.
12. TMyHttpApplication = class(TCustomHTTPApplication)
13. protected
14. function InitializeWebHandler: TWebHandler; override;
15. end;
16.
17. { TMyEmbeddedHttpServer }
18.
19. TMyEmbeddedHttpServer = class(TEmbeddedHttpServer)
20. protected
21. function CreateRequest: TFPHTTPConnectionRequest; override;
22. function CreateResponse(ARequest: TFPHTTPConnectionRequest):
23. TFPHTTPConnectionResponse; override;
24. public
25. property Active;
26. end;
27.
28. { TMyHttpServerHandler }
29.
30. TMyHttpServerHandler = class(TFPHTTPServerHandler)
31. protected
32. function CreateServer: TEmbeddedHttpServer; override;
33. public
34. procedure HandleRequest(ARequest: TRequest; AResponse: TResponse)
; override;
35. end;
36.
37. { TMyHttpApplication }
38.
39. function TMyHttpApplication.InitializeWebHandler: TWebHandler;
40. begin
41. Result := TMyHttpServerHandler.Create(Self);
42. end;
43.
44. { TMyEmbeddedHttpServer }
45.
46. function TMyEmbeddedHttpServer.CreateRequest:
TFPHTTPConnectionRequest;
47. begin
48. Result := TFPHTTPConnectionRequest.Create;
49. end;
50.
51. function TMyEmbeddedHttpServer.CreateResponse(
52. ARequest: TFPHTTPConnectionRequest): TFPHTTPConnectionResponse;
53. begin
54. Result := TFPHTTPConnectionResponse.Create(ARequest);
55. end;
56.
57. { TMyHttpServerHandler }
58.
59. function TMyHttpServerHandler.CreateServer: TEmbeddedHttpServer;
60. begin
61. Result := TMyEmbeddedHttpServer.Create(Self);
62. end;
63.
64. var
65. App: TMyHttpApplication;
66.
67. procedure TMyHttpServerHandler.HandleRequest(ARequest: TRequest;
68. AResponse: TResponse);
69. begin
70. if not App.Terminated then
71. App.Terminate;
72. end;
73.
74. begin
75. App := TMyHttpApplication.Create(nil);
76. try
77. App.Port := 5445;
78. App.Threaded := True;
79. App.Initialize;
80. App.Run;
81. DeleteFile('HEAP.TRC');
82. SetHeapTraceOutput('HEAP.TRC');
83. finally
84. App.Free;
85. end;
86. end.
http://pastebin.com/503S2Nin
The error:
"Could not accept a client connection on socket: -1, error 10004."
Thank you!
--
Silvio Clécio
My public projects - github.com/silvioprog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20131017/1b2faed1/attachment.html>
More information about the fpc-pascal
mailing list