Вниз
Скачать: 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.01 c
6-51862
Romych
2002-10-21 12:26
2002.12.16
Socket - Никак не пойму


4-52023
Novishok
2002-11-05 06:33
2002.12.16
Привет всем,можете мне обьяснить что такое потоки и процессы


1-51828
MaXie
2002-12-05 14:49
2002.12.16
Последняя дата месяца?


14-51945
snoup
2002-11-23 21:49
2002.12.16
Помогите с шифрованием!!!


14-51925
Anatoly Podgoretsky
2002-11-25 07:56
2002.12.16
Именинники 25 ноября




   Наверх