Userlocation issue

the "Userlocation" column displays an IP address on the SOE page

But what if the client is connected to the server in a thin client and the time thin client action acknowledges an alarm but the "Userlocation" shows the IP address of the thin client server IP?

How to let the citect server log the thin client machine IP instead of the thin client server IP and shows it on the SOE page?

Parents Reply Children
  • looks like the Wtsapi32.dll is able to gather the client's IP address, I wondering if the Citect server can log the client IP address and display at the column "Userlocation"

  • Also, you can read windows environment variables in a thin client session. Computername tells you the name of the PC. If you're connected to that PC using remote desktop, there's an extra variable named ClientName tells you the name of the thin client PC. You can read those variables with the GetEnv() function in Citect, like ThinClientPC = GetEnv("CLIENTNAME")

    Unfortunately, I don't think you can make the alarm server record that as the user location.

  • I believe the only way to achieve this is by logging the Client Ack events manually using a custom cicode function that is called instead of the normal alarm acknowledge-function. This custom function should either

    a) log ACK-events as a new SOE-entry, replacing the system mechanism

    b) let the system log the SOE entry, and then modify the UserLocation field afterwards

    Edit: typo