У меня есть 3 маленьких идеи, может быть, некоторые из них могут вдохновить вас или дать вам несколько советов.
Идея 1:
Обнаружение и регистрация IP-адресов и времени подключения пользователей к вашему приложению.
Что-то вроде этого, я думаю, должно позволить вам получить IP:
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException {
String ip = req.getRemoteAddr();
Date date = new Date();
MyLogger.log(ip,date);
}
Если req.getRemoteAddr () не работает, попробуйте (IP-адрес клиента должен быть где-то в заголовке):
request.getHeader ( "х-пересылаются-за")
См Ссылка
Идея 2:
Зная тип системы, которая подключена к серверу, я думаю, JMX может сделать это за вас, если удаленная система позволяет это. Я никогда не использовал это, но я думаю, что вы можете сделать определенные контрольные мысли с ним.
Идея 3:
Я думаю, что лучший способ обнаружить информацию о клиентском компьютере - это запустить приложение на этом конкретном клиентском компьютере.
Апплет. Я не уверен насчет этого, но если я помню, что хорошие апплеты выполняются на стороне клиента, возможно, вы могли бы найти способ вставить один в ваше веб-приложение, чтобы оно могло легко обнаружить информацию о клиентской системе и затем переслать ее обратно в Сервер приложений. (Как я уже сказал, я не уверен, возможно ли это)
Идея 4
Найдите стороннее программное обеспечение, возможно, веб-сервис (своего рода расширенный веб-сервис whois), который получает информацию для вас, когда вы отправляете только параметр (например, IP-адрес)
Обновление
Этот API может помочь вам: jpcap
P.S, также имеющий быстрый взгляд на главу сокетов обучающих программ по Java, также может пригодиться.