• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Отслеживание клиентов на сокетах

  • Автор темы Verser
  • Дата начала
V

Verser

Здравствуйте!

Очень прошу ответить на такой вопрос..

Есть сервер на сокетах

MS: TServerSocket;
procedure MSClientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure MSClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure MSClientRead(Sender: TObject; Socket: TCustomWinSocket);


procedure TForm1.MSClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
logM('Подключился пользователь.. ');
end;

procedure TForm1.MSClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
logM('Отключился пользователь.. ');
end;

procedure TForm1.MSClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
LogM(Socket.RemoteAddress+': '+ Socket.ReceiveText); // Занесли в лог сообщение из канала
end;

Встаёт вопрос - как отследить, какой именно клиент подключился, кто написал сообщение и кто отдисконнектился? ;) Есть какая-то мысль попробовать смотреть handle... но пока ещё не до конца сформирована.

Пожалуйста, подскажите... :lol:
 
S

Silver Wind

Ну так у тебя же в каждом событии передается параметр Socket: TCustomWinSocket - это все что тебе нужно, дальше копай в HELP, как по сокету получить адрес клиента и т.п.
 
V

Verser

У меня может быть куууча клиентов с одного адреса, так что чисто по ип - не очень различимы. Попробую через socket.handle..
 
V

Verser

Я думаю легче всего будет пустить широковещательное (broadcust вроде) сообщение.
 
E

etc

Verser А зачем вам идентифицировать клиента? и при чем тут broadcast?
 
V

vital

ServerSocket.Socket.Connections[].. Дальше в хелп.
 
V

Verser

Всем спасибо, решено через ServerSocket.Socket.Connections.Handle
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!