Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отслеживание клиентов на сокетах
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Сети
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;

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

Пожалуйста, подскажите... unsure.gif
Silver Wind
Ну так у тебя же в каждом событии передается параметр Socket: TCustomWinSocket - это все что тебе нужно, дальше копай в HELP, как по сокету получить адрес клиента и т.п.
Verser
У меня может быть куууча клиентов с одного адреса, так что чисто по ип - не очень различимы. Попробую через socket.handle..
Verser
Я думаю легче всего будет пустить широковещательное (broadcust вроде) сообщение.
etc
Verser А зачем вам идентифицировать клиента? и при чем тут broadcast?
vital
ServerSocket.Socket.Connections[].. Дальше в хелп.
Verser
Всем спасибо, решено через ServerSocket.Socket.Connections[i].Handle
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.