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

Вниз

TSocketClient   Найти похожие ветки 

 
nickolayLI   (2002-10-16 12:24) [0]

пишу не большой чатик, у меня запущен сервер, у клиентов, клиентская часть, так вот вопросик сам, как сказать клиенту что сервер допустим больше не доступен, и и что бы клиент тоже закрывал соединение.
пишу следующее на сервере
procedure TForm1.SocketServer1Disconect(..);
begin
Socket.Connections[0].SendText("C");
Socket.Connections[0].Close;
end;

у клиента

procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
if Trim(Socket.ReceiveText) = "C" then begin
Memo1.Lines.Add("Not Connecting");
ClientSocket1.Active:=False;
end;
end;
но ничегоподобного на клиенте не происходит :(, и еще хотелось бы что бы клиент после отключения сервера, продолжал поиск сервера до тех пор пока не найдет.

спасибо


 
KaRaT   (2002-10-16 12:39) [1]

Как понимаю, то здесь немного нелогично...
Клиент уже откулючилсчя, а ты ему посылаешь строку...
Надо обрабатывать у клиента, а не с сервера...


 
KaRaT   (2002-10-16 12:42) [2]

onDisconnect у клиента...


 
Digitman ©   (2002-10-16 12:43) [3]


> как сказать клиенту что сервер допустим больше не доступен


А зачем серверу "трепаться" лишнего ? Он просто переходит (когда ему вздумается) в неактивное состояние (ServerSocket.Active := False) и у всех его клиентов возникает событие OnDisconnect() - это и есть самый достоверный факт прекращения сеанса обслуживания клиента по инициативе сервера.


> хотелось бы что бы клиент после отключения сервера, продолжал
> поиск сервера до тех пор пока не найдет


Да на здоровье ! Кто ж ему мешает ? Какие проблемы-то ?


 
nickolayLI   (2002-10-16 12:53) [4]

хм.. ну сделал так
на клиенте
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.lines.add("server disconect...");
end;

на сервере

rocedure TForm1.CloseClick(Sender: TObject);
begin
ServerSocket1.Active:=False;
Close;
end;
после того как форма закрывается, сервер, на клиент должно появится сообщение в мемо поле а нету не фига :(


 
nickolayLI   (2002-10-16 12:57) [5]

и еще как перехватить сообщение об ошибки, если допустим сервер не доступен?


 
nickolayLI   (2002-10-16 13:05) [6]

всё сделал, только вот как сделать чтобы клиент постоянно опрашивал сервер, даже тогда когда он вырублен...


 
nickolayLI   (2002-10-16 13:06) [7]

а всё отбой сделал :) сорри...
в первый раз, в первый класс :)


 
VID ©   (2002-10-16 15:36) [8]

Как обрабатываешь событие onClientError у сервера, и onError у клиента ? (КОД ПОКАЖИ)


 
nickolayLI   (2002-10-17 12:10) [9]

на сервере
onClientError;
ErrorCode:=0;
....

на клиенте
onError
ErrorCode := 0;
....



 
alex_ustasu ©   (2002-10-22 11:36) [10]

Привет коллеги. Поделитесь знанием. Как вы подавляете выдачу сообщения об Exception, когда TCLientSocket пытается соединиться (Active:=true)с неактивным TServerSocket ?
У меня задача найти свои серверы в локалке и соединиться с одним из найденных. Перехват Exception никак не получается.
Неужели выход только в использованием функций Winsock ?



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
3-51600
Ruf
2002-11-27 18:46
2002.12.16
Летит таблица


14-51929
kronprince
2002-11-25 15:14
2002.12.16
---|Ветка была без названия|---


14-51908
AgentDelphi
2002-11-24 17:04
2002.12.16
Как прослушать звук с микрофона?


1-51811
ELKa
2002-12-05 11:59
2002.12.16
Как программно задать процедуру на событие?


1-51794
Vagrant
2002-12-05 06:42
2002.12.16
SHAREMEM