Resetarea conexiunii de către coleg

Resetarea conexiunii de către coleg

Bună, Maestre!
Esența problemei este următoarea:
Am folosit Indy9, apoi am pus 10 - încă nu a ajutat!
Folosesc TIdHttpServer
Funcționează frumos - numai atunci când de multe ori în Eksplore apăs butonul pentru actualizare - adică multe cereri către server - programul se blochează cu o eroare
Resetarea conexiunii de la egal la egal # 10054
Ce ar trebui să fac? Am înțeles că dacă mulți oameni vin la slujba mea - o să zboare?

10054 - Gazda de la distanță a forțat conexiunea existentă.

Aș vrea să știu ce (cine) se conectează?

Ie Browserul se conectează la TIdHttpServer

Apoi, ideea mea a apărut.
Și pot actualiza browserul cu un apel frecvent, iar serverul nu întrerupe cârligul și așa TIdHttpServer îmi spune despre el?

LOL. Am înțeles asta. CĂTRE COMPUTERUL (LAN, WLAN, DSL, MODEM), ceea ce înseamnă și în detaliu, dacă doriți să obțineți un răspuns exhaustiv - oferiți informații exhaustive!

În Windows XP există o limită de 10 conexiuni simultane.

Părinte Kondraty # xA0; (08/12/06 20:31) [5]
În Windows XP există o limită de 10 conexiuni simultane.
E. Sunt 10 conexiuni unde?

interfață
utilizări
# xA0; Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,
# xA0; Dialoguri, IdBaseComponent, IdComponent, IdTCPServer, IdCustomHTTPServer,
# xA0; IdHTTPServer. MaskUtils, Winsock, SyncObjs, IdContext;

tip
TSamHTTPServer = clasă (TIdHTTPServer)
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; public
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; fname: String;
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # constructor Creator (AOwner: TComponent);
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; distrugătorul distrugător; suprascrie;
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; procedura _CommandGet (AContext: TIdContext;
# xA0; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; sfârșitul;

VAR
# xA0; # xA0; SamHTTPServer: # xA0; TSamHTTPServer;
punerea în aplicare

destructor TSamHttpServer.Destroy;
începe
# xA0; # xA0; moștenit;
se încheie;

procedură # xA0; TSamHttpServer._CommandGet;
începe
# xA0; # xA0;
# xA0; # xA0; dacă FileExists (ExtractFileDir (Application.ExeName) + ARequestInfo.Document) atunci
# xA0; # xA0; AResponseInfo.ContentStream: = TFileStream.Create (ExtractFileDir (Application.ExeNa mine) + ARequestInfo.Document, fmOpenRead);
se încheie;

constructor TSamHttpServer.Create;
începe
# xA0; # xA0; moștenit crea (AOwner);
# xA0; # xA0; DefaultPort: = 4444;
# xA0; # xA0; AutoStartSession: = adevărat;
# xA0; # xA0; Activ: = adevărat;
# xA0; # xA0; OnCommandGet: = _ CommandGet;
se încheie;

telepathul meu avansează trei opțiuni:
a) limita de conectare la server a fost depășită;
b) codul curbei;
c) a + b.
% -)

> [5] Părintele Kondraty # xA0; (08/12/06 20:31)
din ce. în cazul în care? Cine? "Beaver, respira!" (Q)

Încercați ReuseSocket - rsTrue altfel, și într-adevăr cod curbă.

A acumulat o grămadă - am tot de lucru. -)

Vedeți AResponseInfo.ContentStream: = TFileStream.Create și unde și cum se eliberează mai târziu?

În forma sa pură - funcționează!
Pur și simplu, de fapt, codul paginii este generat de program - un proces destul de consumator de timp și consumator de timp, adică pagina este încărcată 3-4 secunde!

Ei bine, este cu siguranță un jamb în cod. Nu fii leneș în legătură cu F7.

Codul este frumos și clar! totul functioneaza frumos! Problema apare când există multe puncte!

"motorul era foarte asemănător cu cel real, dar nu funcționa" (c)

Acum introduceți procedura de manipulare # xA0; TSamHttpServer._CommandGet;
Somn (10000);
Și executați și faceți clic pe butonul de actualizare # xA0; :-)))) aici se termină discuția!

Memorie: 0,75 MB
Durată: 0,03 secunde