简体   繁体   English

从在citrix会话中运行的Java应用程序中,如何知道客户端工作站是否空闲?

[英]from a java application running in a citrix session, how to know if the client workstation is idle?

we are currently developing java applications that run in a citrix environment. 我们目前正在开发在citrix环境中运行的Java应用程序。 We need to react when the user is idle for a while. 我们需要在用户闲置一段时间后做出反应。

The problem is that if the user is active outside the citrix application, say, for example, in a winword started locally on the client, how could we know it from the application in the citrix session. 问题是,如果用户在citrix应用程序外部处于活动状态(例如,在客户端本地启动的winword中),那么我们如何在citrix会话中从应用程序中知道它。

We tried jna, that works perfectly if started locally. 我们尝试了jna,如果在本地启动,效果很好。 But in the citrix session, that does not work... 但是在citrix会话中,这不起作用...

Any idea ? 任何想法 ?

The short answer is you can't, at least not easily. 简短的答案是,您不能,至少不容易。 You would need to have some local program running on the user's local desktop that talks via some communication mechanism to your app on the Citrix Server to tell it when the user is really idle. 您需要在用户的本地桌面上运行一些本地程序,该程序通过某种通信机制与Citrix Server上的应用程序进行通信,以告知用户何时真正空闲。

How you do this communication is up to you, but if you're really keen you could use the Virtual Channel SDK. 如何进行这种交流取决于您自己,但是如果您真的很热衷,可以使用Virtual Channel SDK。 This allows you to send your own custom commands over the Citrix HDX channel - this is a pretty low level wire comms mechanism however. 这使您可以通过Citrix HDX通道发送自己的自定义命令-但是,这是一种非常底层的有线通信机制。

http://www.citrix.com/downloads/citrix-receiver/sdks/virtual-channel-sdk.html http://www.citrix.com/downloads/citrix-receiver/sdks/virtual-channel-sdk.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM