Getting IP Address of a client

I read an other post with a similar title but thios is different.
here is a basic portion layout of our network

Win PC 1 w/Refection X --
                         |
Win PC 2 w/Refection X --
                         |-- 1 of 6 HP Unix servers -- Win 2k pc
Win PC 3 w/Refection X --
                         |
Win PC 4 w/Refection X --
  • I have a cleint on each of the HP Unix macines
  • I have a server app on the Win 2kPc.
  • Person at one of the Win Pc (Windows pc running Reflection X), lets say Win PC 3 and looks at a
    display that looks just like that of the HP Unix Machine
  • Then they run my client in a HPTerm window.
  • The server app accepts the connection request from the client
  • The server app requests via the C++ function CAsyncSocket::GetPeerName the IP address of the
    client.
    *The address returned was that of Win Pc 3

Then one day the ip addresses were changed on all computers on the network. Now the address that os obtained is that of the HP Unix machin not Win PC 3. Here are some thing I know from my previous post

1 From the HPterm window the Display Environment Var is set to the ip address of the Win Pc 1-25. EX: 10.5.21.216:0.0
2 if I use Telnet running on the Win PC 1-25 and log into the HP unix machine and run the client in the telnet window then the IP adrress is that of Win PC 1-25

Can any one help me restore the operation that used to be be for the network readdressing?
Thanks,
Fayette