Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.05 c
1-1100454101
novice_man
2004-11-14 20:41
2004.11.28
Присваивание или копирование?


1-1100291712
Dmitry
2004-11-12 23:35
2004.11.28
Отловить закрытие процесса


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


4-1097862186
ser_ega
2004-10-15 21:43
2004.11.28
Twain


3-1099233673
Sam Stone
2004-10-31 17:41
2004.11.28
ADO и MDB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский