2014-01-14 2 views
1

Так вот интересный проект:Адрес или IP-адрес клиента с Citrix

У нас есть унаследованная система, которая работает во многих местах с помощью Citrix (несетевых магазинов)

Мы используем большую ферму Citrix , поэтому, когда вы входите в систему, вы никогда не знаете, с каким сервером вы будете подключаться.

Мы хотим, чтобы иметь возможность программно определить, какой магазин пользователь находится в.

Я думал, что если Citrix предоставляет возможность использовать услуги определения местоположения, то мы могли бы быть в состоянии использовать это. Фокус в том, что мне нужно расположение физической клиентской машины, а не случайный сеанс Citrix, на котором размещается приложение.

Есть ли способ сделать это? Есть ли другой способ помочь связать местоположение?

+0

Возможно, вам необходимо изменить процесс входа в систему с помощью раскрывающегося списка, чтобы выбрать, в каком хранилище находится пользователь (клерк?). –

+0

@ Andrew-OpenGeoCode это на самом деле то, что он делает сейчас , но это создает реальные проблемы. Клерки часто плавают между магазинами. Они постоянно выбирают неправильный магазин (обычно их «домашний» магазин, а не тот, который они посещают), и это приводит к хаосу вниз по течению от них в конце месяца. Мы ищем способ автоматического разрешения магазина. – JMarsch

+0

Какой язык программирования/среда - это приложение, написанное? –

ответ

2

В некоторых случаях использования можно получить местоположение клиентского устройства. Mobile SDK для Windows Apps поддерживает определение местоположения. Однако для этого требуется мобильное устройство, а серверная платформа должна быть либо XenApp 6.5, либо XenDesktop 7.0 или выше. Интерфейс такой же, как и для интерфейса Windows 7, но он работает с удаленным мобильным устройством для определения местоположения. Вот видео о том, как использовать 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/

+0

Пример программы, использующей SDK для местоположения, можно найти по адресу http://www.ctrl-alt-del.com.au/CAD_XALocLaunch.htm –

+0

Привет, Jeff - ваша ссылка выглядит очень многообещающей. Существует потенциальная проблема - если я получаю только IP-адрес клиентской машины, это, скорее всего, адрес 192.168.1.x, который стоит за NAT. Вероятно, мне действительно нужен IP-адрес шлюза магазина. Есть ли способ связаться с exe, который работает на клиентском компьютере (я мог бы сбросить действительно простую услугу на клиентских машинах, которая получает информацию и делает ее доступной для сеанса citrix, если есть способ сделать это) , – JMarsch

+0

Возможно получить «реальный» адрес, назначенный клиентской машине. Просмотрите этот [вопрос] (http://stackoverflow.com/questions/2461325/detect-source-of-remote-desktop-connection). Ответ, который наиболее уместен, касается WinStationGetRemoteIPAddress. Если вы попытаетесь получить доступ к клиенту exe, это не сработает. Это должно быть что-то в протоколе RDP/HDX, предоставляемом серверу. Вчера я экспериментировал и нашел IP-адрес клиента. Для хорошего или плохого, это был IP-адрес VPN. Кроме того, имейте в виду, что вы можете изменить DHCP на шлюзах, чтобы предоставить уникальные IP-адреса. –

Смежные вопросы