Главная страница
    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.46 MB
Время: 0.007 c
3-51653
Hlor
2002-11-26 02:15
2002.12.16
Вопрос о очтетах..........


1-51732
Berg
2002-12-06 14:38
2002.12.16
Operator not applicable to this operand type


4-51993
Semion
2002-10-23 06:28
2002.12.16
запись в EXE


14-51892
sancho
2002-11-23 17:34
2002.12.16
freepascal


3-51657
tepa
2002-11-28 22:59
2002.12.16
восстановление индексов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский