Текущий архив: 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