Текущий архив: 2004.09.19;
Скачать: CL | DM;
Вниз
Делаю в таймере ClientSocket.Open; через пол-часа выдает Найти похожие ветки
← →
Гость (2004-09-01 17:13) [0]ошибку "переполнение буфера " и что-то там еще, почему и что делать ?
← →
Digitman © (2004-09-01 17:15) [1]в составе тела процедуры обработки события TClientSocket.OnError д.б. как минимум след.строчка :
Socket.Close;
← →
Гость (2004-09-01 17:20) [2]Digitman © (01.09.04 17:15) [1]
Есть такая строчка что еще может быть?
← →
Гость (2004-09-01 17:24) [3]и еще в диспетчере задач видно как прога пожирает память 20кб в сек примерно ...
← →
Гость (2004-09-01 17:26) [4]Sorry,не 20 а 4 кб в сек... у таймера интервал 1 сек...
← →
Анонимщик © (2004-09-01 17:28) [5]Ну приходит тебе 8*N битов, где N - много, например. Что ты с ними делаешь?
← →
Digitman © (2004-09-01 17:31) [6]
> ошибку "переполнение буфера " и что-то там еще
ты вообще-то программист или где ? какого лешего кто-то должен догадываться о ТОЧНОМ тексте сообщения об отказе ? "переполнение буфера" - это на деревню дедушке от Ваньки Жукова, и не утверждай иное !
← →
Гость (2004-09-01 17:33) [7]откуда приходит? сервера вообще в сети нет прога должна пытаться подключится к нему и как только он появится в сети подключится
← →
Digitman © (2004-09-01 17:38) [8]если код отказа соответствует константе ESAENOBUFS, то это свидетельствует только об одном - количество вызовов TClientSocket.Open превысило кол-во соотв. вызовов TClientSocket.Close на величину, превышающую макс-но допустимое число созданных процессом в ходе его работы гнезд
← →
Гость (2004-09-01 17:41) [9]При каждом вызове ClientSocket.Open;
Идет пожирание памяти
Ошибка:
Project NetCl.exe raised exception class ESocketError with message"Windows socket error:Невозможно выполнить операцию на сокете , т.к буфер слишком мал или очередь переполнена (10055),
on API"connect".Process stopped . Use Step or Run to continue.
← →
Гость (2004-09-01 17:41) [10]При каждом вызове ClientSocket.Open;
Идет пожирание памяти
Ошибка:
Project NetCl.exe raised exception class ESocketError with message"Windows socket error:Невозможно выполнить операцию на сокете , т.к буфер слишком мал или очередь переполнена (10055),
on API"connect".Process stopped . Use Step or Run to continue.
← →
Гость (2004-09-01 17:42) [11]При каждом вызове ClientSocket.Open;
Идет пожирание памяти
Ошибка:
Project NetCl.exe raised exception class ESocketError with message"Windows socket error:Невозможно выполнить операцию на сокете , т.к буфер слишком мал или очередь переполнена (10055),
on API"connect".Process stopped . Use Step or Run to continue.
← →
Анонимщик © (2004-09-01 17:57) [12]Дорогой, может, код приведешь? Или мы так плохо выпрашиваем?
← →
cyborg © (2004-09-01 21:36) [13]Дайте пожалуйста кода!? (жалобно)
← →
Гость (2004-09-02 10:38) [14]Вот весь код непойму почему он выдает ошибки через 5 мин работы
если интервал таймера уменьшить ошибка выйдет раньше
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, ExtCtrls;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Timer1: TTimer;
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
ClientSocket1.Close;
Timer1.Enabled:=True;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Timer1.Enabled:=False;
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ClientSocket1.Open;
end;
end.
← →
Гость (2004-09-02 11:07) [15]ау???
← →
VMcL © (2004-09-02 11:44) [16]>>Гость (02.09.04 10:38) [14]
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
ClientSocket1.Close;
Timer1.Enabled:=True;
end;
1. То, что выделено жирным, некорректно.
2. Таймер-то зачем?
← →
Анонимщик © (2004-09-02 11:50) [17]Ну ты хоть пытался точки останова поставить на функциях
ClientSocket1Error
ClientSocket1Connect
ClientSocket1Disconnect
Timer1Timer
или нет?
← →
Гость (2004-09-02 11:52) [18]таймер что-бы ClentSocket все время пытался подключится к серверу
пока сервер не появится в сети
без ClientSocket1.Close;
вообще не работает
что делать?
← →
Verg © (2004-09-02 12:00) [19]
> [1] Digitman © (01.09.04 17:15)
> в составе тела процедуры обработки события TClientSocket.OnError
> д.б. как минимум след.строчка :
>
> Socket.Close;
> [2] Гость (01.09.04 17:20)
> Digitman © (01.09.04 17:15) [1]
> Есть такая строчка что еще может быть?
на самом же деле имеем
> procedure TForm1.ClientSocket1Error(Sender: TObject;
> Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
> var ErrorCode: Integer);
> begin
> ErrorCode:=0;
> ClientSocket1.Close;
> Timer1.Enabled:=True;
> end;
так, "пустячок"!
← →
Гость (2004-09-02 12:01) [20]Анонимщик © (02.09.04 11:50) [17]
че за точки останова?
← →
VMcL © (2004-09-02 12:47) [21]>>Гость (02.09.04 12:01) [20]
>че за точки останова?
О как. Понимаю...
← →
Анонимщик © (2004-09-02 12:47) [22]Даже не знаю, что и ответить.
Страницы: 1 вся ветка
Текущий архив: 2004.09.19;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.029 c