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

Вниз

Идентификация клиента в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
8-23689
Сергей С
2002-02-19 22:52
2002.07.08
DirectShow


14-23752
kami
2002-06-02 21:23
2002.07.08
Дело такое, у меня есть программа, но она закомпилированна....


3-23507
Sava
2002-06-17 15:44
2002.07.08
Как вернуть значение из хранимой процедуры MS SQL?


7-23802
MetalFan666
2002-04-12 08:55
2002.07.08
Работа с Word ом из Delphi


3-23508
Awex
2002-06-17 13:14
2002.07.08
InterBase 6.0.1 - INET/inet_error: read errno = 10054