Форум: "Сети";
Текущий архив: 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