Форум: "Сети";
Текущий архив: 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