Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
1-51700
Gari
2002-12-05 09:24
2002.12.16
Заточка приложения под XP


3-51647
Sergy
2002-11-28 16:16
2002.12.16
Как позволить в одном из полей DBGrid выводить картинки?


14-51944
Виктор Щербаков
2002-11-25 16:04
2002.12.16
Задачка


3-51619
Bakch
2002-11-28 09:01
2002.12.16
Опять


1-51697
oss
2002-12-05 13:02
2002.12.16
работа приложения основанного на BPL (часть 2)




   Наверх