Thursday, April 29, 2010

Куем RDP и VNC клиентов

На моей основной работе мне приходится заниматься администрированием серверов и рабочих станцией, работающих под управлением Windows/Linux. К серверам я привык подключаться через стандартный RDP, а для соединения с рабочими местами пользователей больше предпочитаю использовать одну из модификаций VNC.

Функциональность RDP и VNC меня полностью удовлетворяют, за исключением одного НО. При интенсивной работе мой рабочий стал захламляется копиями приложений TightVNC и mstsc. Бывает работаешь с тремя серверами, а тут тебе звонит пользователь и слезно просит помочь. Хочется иль не хочется, а приходится сворачивать окна mstsc и запускать консоль TightVNC. В результате такой работы рабочий стол быстро превращается в хаос, состоящий из открытых окон mstsc и TightVNC. Найти в таком бардаке окно с нужным сеансом крайне проблематично.

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

Путь смертного

Пожалуй, самым простым способом решения выше озвученной проблемы будет поиск и внедрение готового клиента-комбайна, поддерживающего протоколы RDP и VNC. Способ, несомненно, хорош, а главное времени на его реализацию практически не надо. Таких утилит пруд пруди, успевай только выбирать. Но, отдавая предпочтение готовому софту, ты автоматически становишься обладателем всех его плюсов и минусов. Среди основных минусов обычно выступает - цена. Продвинутый софт стоит денег, а бесплатный редко попадается со всеми необходимыми функциями. Оба эти минуса меня в свое время не устроили и я решил пойти по нетоптаной тропинке.

Путь Джедая

Насупившись и сжав в руки в кулаки, я решил во что бы то не стало написать своего мегапродвинутого клиента. По задумке он должен был бы уметь поддерживать подключения по протоколам RDP и VNC.

Решить проблему открытых окон я хотел с помощью уже хорошо проверенного метода - использования вкладок. А что? Уже все WEB-браузеры, в том числе и хромой ослик ИА, открывают новые страницы в отдельном табе. Юзеры от такой фишки довольны и уже ни одного из них не заставишь отказаться от этой фичи. Я подумал, а почему бы интерфейс моего приложения не сделать в таком же духе? Было бы супер, когда каждый удаленный рабочий стол располагался бы в отдельной вкладке. В заголовке таба можно было прописывать название сервера и уже по нему ориентироваться. Думаю, мою идею ты уловил.

На чем лучше писать

Перед разработкой своего приложения я долго мучился в выборе языка. Сначала я было хотел написать все на Delphi. Скажу даже больше, я уже реализовал поддержку RDP и VNC, но потом некоторые ограничения дельфина мне надоели и я решил сделать выбор в пользу C# и платформы .NET. Выбирая технологии от Microsoft, ты получаешь кучу готовых шаблонов и для достижения нирваны остается приложить совсем чуть-чуть усилий.

RDP

Итак, для организации поддержки протокола RDP мы обратимся за помощью к Com-компоненту - Microsoft RDP Client. Пользоваться этим компонентом чрезвычайно просто и что немаловажно - удобно. К тому же компонент установлен в каждой системе, поэтому заботиться о его поставке не придется.

Read more: vr-online.ru

Posted via email from jasper22's posterous