Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];

Вниз

Идентификация клиента в TServerSoket   Найти похожие ветки 

 
KPV-10k   (2002-04-25 21:46) [0]

Мастера, подскажите, как аутентифицировать номер клиента в TServerSoket, если подсоединено несколько клиентов, и какой-то отсоединился... Смотрел ответы ниже =>[LiNkS], но там не сказано, как это сделать, ведь одновременно может быть несколько соединений, а надо отправить сообщение только одному.


 
cyborg   (2002-04-25 21:57) [1]

Я думаю так. Можно сделать процедуру или функцию, которой передаётся Socket, и эта процедура или запоминает где нибудь этот сокет или что то делает и посылает по этому сокету то что надо.

Procedure MessageInSocket(Socket : TCustomWinSocket);
Begin
Socket.SendBuf(Data,DataSize);
End;


procedure TForm1.ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
MessageInSocket(Socket);
end;

------
Жить хорошо! А хорошо жить, ещё лучше!


 
SerVS   (2002-04-26 00:59) [2]

Привязать информации к каждому сокету легко. Используй Socket.Data. Это указатель, так что можешь создать любой объект и хранить в нем всю нужную тебе инфу.
ЗЫ. Если верить доке, то тебе удалять эти обекты ну нужно, за тебя уже позаботились ;)


 
and_   (2002-04-26 14:52) [3]

При возникновении события

ClientSocket1Disconnect

в переменной Socket.Handle Содержится дескриптор отсоединившенося клиента, присвоенный ему в момент присоединения.

А отправить сообщение одному, можно, например, так


for p := 0 to ServerSocket1.Socket.ActiveConnections-1 do
if ServerSocket1.Socket.Connections[p].Handle = ClientHandle1 then
ServerSocket1.Socket.Connections[p].SendText("hello");


 
KPV-10k   (2002-04-28 09:20) [4]

Всем огромное спасибо! Теперь всё клёво работает...



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

Форум: "Сети";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
7-23808
Torry
2002-04-12 14:30
2002.07.08
Помогите воруют мыши


1-23592
indigo_652
2002-06-25 11:50
2002.07.08
Приложение остается в диспетчере задач (Ctrl+Alt+Del)


6-23720
Konstantin Borodachev
2002-04-25 14:42
2002.07.08
Проблема с Indy и OpenSSL


1-23539
Vladimir.st
2002-06-26 16:25
2002.07.08
Помогите разобраться со StringGirid ом


14-23741
Bogdan_Lit
2002-06-05 00:02
2002.07.08
Компонент типа спидомитер.





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