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

Вниз

как пропилинговать сервак   Найти похожие ветки 

 
SergeySEM   (2004-09-17 15:20) [0]

Драсте!
Таков вопрос у меня TClientSocket  и TServerSocket все работает Ok но есть странность когда в сети у меня еще не появился сервер а клиент открывает соединение то вылетает ошибка
а задача такова надо что-бы в локальной сети была прога и она следила и информировала как клиентов о том что сервер в сети так и сервер о том сколько у него клиентов.

немного кода



var YNConn:Boolean;

procedure Delay(ms : longint);
var TheTime : LongInt;
begin
TheTime := GetTickCount + ms;
 while GetTickCount < TheTime do
  Application.ProcessMessages;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 Close;
end;

procedure TForm1.CSConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
 YNConn:=True; Image1.Picture.Bitmap.LoadFromFile("led2off.bmp");
end;

procedure TForm1.CSDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
 YNConn:=False;Image1.Picture.Bitmap.LoadFromFile("led1off.bmp");
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 YNConn:=False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
try
  begin
    CS.Address:="127.0.0.1";
    CS.Active:=True;
  end;

// вот тут и выдает ошибку если нет сервера

except on ESocketError do
  begin
    CS.Close;
    caption:="я клиент невижу сервак";
  end;
end;

If Not YNConn Then begin
 Delay(500);
 Button1Click(Sender);
End;
end;


заранее благодарен


 
Digitman ©   (2004-09-17 16:00) [1]


> как клиентов о том что сервер в сети


проще не заниматься ерундой , а "научить" каждого клиента определять сей факт


> так и сервер о том сколько у него клиентов


ну как же ! а то сервер не знает, сколько у него активных клиентов !

а TClientSocket.ClientType, надо понимать, ctBlocking ?


 
Wistler ©   (2004-09-18 04:05) [2]

Можно залезть внутрь этих компонентов, поудалять все Exeptions. Потом подключаемся к серверу, и прверяем есть подключение или нет, и никаких ошибок.


 
Palladin ©   (2004-09-18 04:19) [3]

Exceptions то зачем удалять?


 
SergeySEM   (2004-09-20 14:52) [4]


> Digitman
> проще не заниматься ерундой , а "научить" каждого клиента
> определять сей факт


а можно поподробнее сети только учу


 
Digitman ©   (2004-09-20 14:59) [5]


> SergeySEM   (20.09.04 14:52) [4]


начни с конкретного и обоснованного тобой выбора значения св-ва ClientType


 
SergeySEM   (2004-09-21 15:12) [6]


> Digitman
> начни с конкретного и обоснованного тобой выбора значения
> св-ва ClientType


ну у меня ClientType --- ctNonBlocking
а ServerType --- stNonBlocking

а что от этого что-то зависит
мне надо типа контры если сервера нет то дальше ищем если есть показываем или даем команду


 
Digitman ©   (2004-09-21 15:19) [7]


> а ServerType --- stNonBlocking


к кл.стороне это не имеет никакого отношения


> ClientType --- ctNonBlocking


обрабатывай событие OnError, его возбуждение после Open как правило есть факт недоступности сервера


 
SergeySEM   (2004-09-21 15:26) [8]

в том то и прикол что окошко вылазеет до onError


 
Digitman ©   (2004-09-21 15:28) [9]


> SergeySEM   (21.09.04 15:26) [8]


> окошко вылазеет до onError


не выдумывай


 
SergeySEM   (2004-09-21 15:40) [10]

щас проверил точно все в порядке спасибо за помощь

ErrorCode:=0

и всего то :)


 
SergeySEM   (2004-09-21 15:40) [11]

щас проверил точно все в порядке спасибо за помощь

ErrorCode:=0

и всего то :)


 
SergeySEM   (2004-09-21 15:40) [12]

щас проверил точно все в порядке спасибо за помощь

ErrorCode:=0

и всего то :)


 
SergeySEM   (2004-09-21 15:41) [13]

щас проверил точно все в порядке спасибо за помощь

ErrorCode:=0

и всего то :)


 
Digitman ©   (2004-09-21 16:03) [14]


> и всего то


нет, не "всего-то"

во-первых, признайся что соврал

во-вторых, где-то следом за
ErrorCode:=0
совершенно необходим
Socket.Close



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

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

Наверх




Память: 0.5 MB
Время: 0.044 c
14-1100037928
KilkennyCat
2004-11-10 01:05
2004.11.28
Завтра покупаю еще одну чугунную сковородку.


14-1099683570
Piter
2004-11-05 22:39
2004.11.28
Непонятна работа GetWindowText


1-1100358310
_smi_
2004-11-13 18:05
2004.11.28
как создать выпадающее меню программно?


1-1100285777
CherrLy
2004-11-12 21:56
2004.11.28
Приравнять динамические переменные


14-1100070632
Суслик
2004-11-10 10:10
2004.11.28
service pack