Вы не можете сделать это с функциональностью, предоставляемой IP (может быть, TCP или UDP). Вот почему IP-адрес, который вы получаете, используя getHostAddress()
, такой же.
Либо протокол, который вы реализуете (если это уже существующий протокол, указанный кем-то другим), должен поддерживать какую-то идентификацию клиента, либо (если это ваш собственный протокол) вы должны реализовать это самостоятельно, например, использование некоторых произвольных контрольных сумм для данных клиента (аппаратный GUID или аналогичный).