Please, suggest a way to monitor data being passed over a named virtual channel between the Citrix ICA client machines and Citrix Server. Any hints on how it can be done externaly, e.g. with a sniffer?
We have an application working on Citrix XenApp server side and clients working over Citrix ICA client API (v 12.1). Server side and client side perform additional communication within an ICA session by exchanging textual commands in simple requests/response fashion. Our logs of the client side code show that sometimes client receives OnChannelData event which ends up in GetChannelData returning empty strings (which is unexpected).
Our protocol doesn't have cases of passing empty string into the channel, so I beleve it might be a virtual channel issue caused by a high load and I'd like to monitor VC data exchange externally, not from our client or server side code.
Update: started corresponding thread on Citrix Developers Community Forum. It gives much more details which weren't seem suitable for a SuperUser question.