![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Connection reset by peer [D7, WinXP]
SamProf © (2006-08-12 20:02:00)Здравствуйте, Мастера!
Суть проблемы в следующем:
Я использовал Indy9, потом поствил 10 - всё равно не помогло!
Я юзаю TIdHttpServer
Всё красиво работет - только когда я много много раз в Експлорее нажимаю кнопку обновить - т.е. много запросов на сервак - прога вылетает с ошибкой
Connection reset by peer #10054
Что делать? я так понимаю, что если к моему сервку будет конектится много людей - он вылетит?
Ketmar (2006-08-12 22:49:00) [1]> [17] SamProf © (12.08.06 21:26)
если код работает -- то он работает всегда. а если он работает иногда -- то он не работает.
"свежесть бывает только одна -- первая, она же и последняя" (ц)
SamProf (2006-08-12 21:26:00) [2]
> Ketmar © (12.08.06 21:14) [15]
> > [14] SamProf © (12.08.06 21:11)класс. "код красивый
> и чёткий, только не работает"."двигатель был очень похож
> на настоящий, но не работал" (ц)
Код РАБОТАЕТ!!!!!!!!!!!!!
А ну ка вставте в обработчик procedure TSamHttpServer._CommandGet;
Sleep(10000);
И запустите и жмите кнопку обновить :-)))) вот токда оборжётесь!
Отец Кондратий (2006-08-12 21:17:00) [3]1) http://oszone.net/1355/- почитай
2) убери "красоту" из кода. Может заработает...
Ketmar (2006-08-12 21:14:00) [4]> [14] SamProf © (12.08.06 21:11)
класс. "код красивый и чёткий, только не работает".
"двигатель был очень похож на настоящий, но не работал" (ц)
SamProf (2006-08-12 21:11:00) [5]Код красивый и чёткий! все работает красиво! проблема возникает, когда много конектов!
Отец Кондратий (2006-08-12 21:10:00) [6]Ну значиться однозначно - косяк в коде. Не поленись по F7 пройтись...
SamProf (2006-08-12 21:06:00) [7]В чистом виде - согласен работает!
Просто на самом деле код страницы генерится программой - достаточно трудоёмкий и времяёмкий процесс, т.е. страница грузится 3-4 сек!
Отец Кондратий (2006-08-12 21:04:00) [8]Смотри AResponseInfo.ContentStream:=TFileStream.Create а где и как потом он освобождается?
Отец Кондратий (2006-08-12 20:59:00) [9]Накидал наскоряк - у меня всё работает! :-)
Отец Кондратий (2006-08-12 20:52:00) [10]Попробуй ReuseSocket - rsTrue иначе и вправду кривой код...
Ketmar (2006-08-12 20:45:00) [11]> [5] Отец Кондратий (12.08.06 20:31)
чего??? куда? кого? "бобёр, выдыхай!" (ц)
Ketmar (2006-08-12 20:45:00) [12]мой телепатор выдвигает три арианта:
а) превышен лимит соединений сервера;
б) кривой код;
в) a+б.
%-)
SamProf (2006-08-12 20:38:00) [13]Отец Кондратий (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
И много раз жму Обновить
Отец Кондратий (2006-08-12 20:31:00) [14]В Windows XP существует ограничение 10 одновременных подключений...
Отец Кондратий (2006-08-12 20:29:00) [15]LOL... Ну это я понял. К КАКОМУ КОМПУ (LAN,WLAN,DSL,MODEM), какими средствами и поподробнее, если хочешь получить исчерпывающий ответ - дай исчерпывающую инфо!
SamProf (2006-08-12 20:28:00) [16]чё то у меня мысль возникла.
А может при частом вызове обновить именно браузер, а не сервер прерывает конект и поэтому TIdHttpServer мне об этом говорит?
SamProf (2006-08-12 20:24:00) [17]Т.е. Браузер конекттся к TIdHttpServer
Отец Кондратий (2006-08-12 20:23:00) [18]10054 - Удаленный хост принудительно разорвал существующее подключение.
Хотелось бы узнать к чему (кому) коннектимся?