Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: CL | DM;

Вниз

Connection reset by peer   Найти похожие ветки 

 
SamProf ©   (2006-08-12 20:02) [0]

Здравствуйте, Мастера!
Суть проблемы в следующем:
Я использовал Indy9, потом поствил 10 - всё равно не помогло!
Я юзаю TIdHttpServer
Всё красиво работет - только когда я много много раз в Експлорее нажимаю кнопку обновить - т.е. много запросов на сервак - прога вылетает с ошибкой
Connection reset by peer #10054
Что делать? я так понимаю, что если к моему сервку будет конектится много людей - он вылетит?


 
Отец Кондратий   (2006-08-12 20:23) [1]

10054 - Удаленный хост принудительно разорвал существующее подключение.

Хотелось бы узнать к чему (кому) коннектимся?


 
SamProf ©   (2006-08-12 20:24) [2]

Т.е. Браузер конекттся к TIdHttpServer


 
SamProf ©   (2006-08-12 20:28) [3]

чё то у меня мысль возникла.
А может при частом вызове обновить именно браузер, а не сервер прерывает конект и поэтому TIdHttpServer мне об этом говорит?


 
Отец Кондратий   (2006-08-12 20:29) [4]

LOL... Ну это я понял. К КАКОМУ КОМПУ (LAN,WLAN,DSL,MODEM), какими средствами и поподробнее, если хочешь получить исчерпывающий ответ - дай исчерпывающую инфо!


 
Отец Кондратий   (2006-08-12 20:31) [5]

В Windows XP существует ограничение 10 одновременных подключений...


 
SamProf ©   (2006-08-12 20:38) [6]

Отец Кондратий   (12.08.06 20:31) [5]
В Windows XP существует ограничение 10 одновременных подключений...
Э.... это 10 подключений куда?

unit httpserverU;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IdBaseComponent, IdComponent, IdTCPServer, IdCustomHTTPServer,
 IdHTTPServer , MaskUtils, Winsock ,SyncObjs, IdContext;

type
TSamHTTPServer= class ( TIdHTTPServer )
                   public
                   fname:String;
                   constructor Create(AOwner: TComponent);
                   destructor Destroy; override;
                   procedure _CommandGet(AContext: TIdContext;
 ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
                   end;

VAR
    SamHTTPServer:  TSamHTTPServer;
implementation

uses Unit1;

destructor TSamHttpServer.Destroy;
begin
    inherited;
end;

procedure  TSamHttpServer._CommandGet;
begin
   
    if FileExists(ExtractFileDir(Application.ExeName)+ARequestInfo.Document) then
    AResponseInfo.ContentStream:=TFileStream.Create(ExtractFileDir(Application.ExeNa me)+ARequestInfo.Document,fmOpenRead );
end;

constructor TSamHttpServer.Create;
begin
    inherited Create(AOwner);
    DefaultPort:=4444;
    AutoStartSession:=true;
    Active:=true;
    OnCommandGet:=_CommandGet;
end;

end.


Обрашаюсь к примеру к http://samprof:4444/index.htm
И много раз жму Обновить


 
Ketmar ©   (2006-08-12 20:45) [7]

мой телепатор выдвигает три арианта:
а) превышен лимит соединений сервера;
б) кривой код;
в) a+б.
%-)


 
Ketmar ©   (2006-08-12 20:45) [8]

> [5] Отец Кондратий   (12.08.06 20:31)
чего??? куда? кого? "бобёр, выдыхай!" (ц)


 
Отец Кондратий   (2006-08-12 20:52) [9]

Попробуй ReuseSocket - rsTrue иначе и вправду кривой код...


 
Отец Кондратий   (2006-08-12 20:59) [10]

Накидал наскоряк - у меня всё работает! :-)


 
Отец Кондратий   (2006-08-12 21:04) [11]

Смотри AResponseInfo.ContentStream:=TFileStream.Create а где и как потом он освобождается?


 
SamProf ©   (2006-08-12 21:06) [12]

В чистом виде - согласен работает!
Просто на самом деле код страницы генерится программой - достаточно трудоёмкий и времяёмкий процесс, т.е. страница грузится 3-4 сек!


 
Отец Кондратий   (2006-08-12 21:10) [13]

Ну значиться однозначно - косяк в коде. Не поленись по F7 пройтись...


 
SamProf ©   (2006-08-12 21:11) [14]

Код красивый и чёткий! все работает красиво! проблема возникает, когда много конектов!


 
Ketmar ©   (2006-08-12 21:14) [15]

> [14] SamProf ©   (12.08.06 21:11)
класс. "код красивый и чёткий, только не работает".

"двигатель был очень похож на настоящий, но не работал" (ц)


 
Отец Кондратий   (2006-08-12 21:17) [16]

1) http://oszone.net/1355/ - почитай
2) убери "красоту" из кода. Может заработает...


 
SamProf ©   (2006-08-12 21:26) [17]


> Ketmar ©   (12.08.06 21:14) [15]
> > [14] SamProf ©   (12.08.06 21:11)класс. "код красивый
> и чёткий, только не работает"."двигатель был очень похож
> на настоящий, но не работал" (ц)

Код РАБОТАЕТ!!!!!!!!!!!!!

А ну ка вставте в обработчик procedure  TSamHttpServer._CommandGet;
Sleep(10000);
И запустите и жмите кнопку обновить   :-)))) вот токда оборжётесь!


 
Ketmar ©   (2006-08-12 22:49) [18]

> [17] SamProf ©   (12.08.06 21:26)
если код работает -- то он работает всегда. а если он работает иногда -- то он не работает.
"свежесть бывает только одна -- первая, она же и последняя" (ц)



Страницы: 1 вся ветка

Текущий архив: 2007.01.07;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.075 c
3-1161522213
Piero
2006-10-22 17:03
2007.01.07
Database Desktop


15-1166482639
Pasc
2006-12-19 01:57
2007.01.07
Кто пользовался MS Visual Studio ?


10-1127672414
френк
2005-09-25 22:20
2007.01.07
пара вопросов по COM


15-1166092041
Vlad Oshin
2006-12-14 13:27
2007.01.07
MySql и/или MSSQL Логи. Как делать?


2-1166358355
Apachi
2006-12-17 15:25
2007.01.07
как можно уменьшить размер компилируемой DLL