【问题标题】:Location or IP address of client with CitrixCitrix 客户端的位置或 IP 地址
【发布时间】:2014-01-14 18:22:03
【问题描述】:

所以这是一个有趣的项目:

我们有一个旧系统,通过 Citrix(实体店)在许多地方运行

我们为 Citrix 使用了一个大型场,因此当您登录时,您永远不知道要连接哪台服务器。

我们希望能够以编程方式确定用户所在的商店。

我在想,如果 Citrix 提供了一种使用位置服务的方法,那么我们也许可以使用它。诀窍是我需要物理客户端计算机的位置,而不是托管应用程序的随机 Citrix 会话。

有没有办法做到这一点?有没有其他方法可以帮助关联位置?

【问题讨论】:

  • 或许您应该修改登录过程,使用下拉菜单选择用户(店员?)所在的商店。
  • @Andrew-OpenGeoCode 这实际上就是它现在所做的,但它会导致真正的问题。店员经常在商店之间流动。他们经常选择错误的商店(通常是他们的“家”商店,而不是他们正在访问的商店),并且在月底对下游造成严重破坏。我们正在寻找一种自动解决存储问题的方法。
  • 应用程序是用什么编程语言/环境编写的?
  • 我对 Citrix 不熟悉,但从谷歌搜索听起来它们像是在 Windows 之上运行的。如果您使用 .Net 编写,Citrix 似乎提供了一个地理定位程序集:citrix.com/mobilitysdk/docs/cmp.net/html/…
  • 嗨安德鲁:对不起,我错过了你的 cmets。它在 c#/.net 4.0 中,但如果需要,我可以 p/invoke。

标签: c# geolocation location citrix


【解决方案1】:

在特定用例中可以获取客户端设备的位置。适用于 Windows 应用程序的移动 SDK 支持确定位置。但是,它需要移动设备,并且服务器平台必须是 XenApp 6.5 或 XenDesktop 7.0 或更高版本。 该接口与 Windows 7 位置 API 相同,但它与远程移动设备一起确定位置。 以下是如何使用 API 的视频:http://www.citrix.com/tv/#videos/5377

根据您的配置,您很可能拥有台式计算机。如果这是真的,您可能需要调查其他解决方案。最明显的路径是使用客户端 IP 地址。如果每个商店都有不同的客户端 IP 地址范围,那么 IP 地址和商店之间的映射将相当容易。可以获取客户端IP地址:http://blogs.citrix.com/2008/03/07/how-to-get-the-client-ip-address-or-hostname-of-a-citrix-session-or-terminal-services-session/

【讨论】:

  • 可以在ctrl-alt-del.com.au/CAD_XALocLaunch.htm找到使用SDK for Location的程序示例
  • 嗨,杰夫 - 您的链接看起来很有希望。有一个潜在的问题——如果我只获得客户端机器的 IP,它可能是 NAT 后面的 192.168.1.x 地址——我可能真的需要商店网关的 IP。有没有办法与客户端机器上运行的 exe 进行通信(如果有办法,我可以在客户端机器上放置一个非常简单的服务来获取信息并使其可用于 citrix 会话) .
  • 可以获得分配给客户端机器的“真实”地址。请查看此question。最相关的答案是关于 WinStationGetRemoteIPAddress。如果您要尝试访问客户端 exe,那将无法正常工作。它必须是提供给服务器的 RDP/HDX 协议中的某些内容。我昨天做了一些实验,找到了客户端IP地址。无论好坏,它都是一个 VPN IP 地址。另外,请记住,您可以更改网关上的 DHCP 以提供唯一的 IP 地址。
  • 谢谢,杰夫。我会看看。听起来我们应该能够结合每个商店的唯一 IP 范围和使用该 API 来实现这一目标。
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 2011-10-22
  • 2011-01-15
  • 1970-01-01
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多