|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.07.2011, 19:29 | #1 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
Сокеты. Гарантированное соединение. структура кода
Добрый день! Продолжается разработка клиент-серверного приложения типа РАДМИН (D2010 + INDY10)
Предыдущая версия работает, но работает не по правилам - постоянно идет коннект-дисконект с сервером при передаче скрина экрана сервера и передаче данных мыши с клиента на сервер. Из-за этого идет торможение, дерганье экрана. Надо это исправить Клиент должен работать следующим образом: - при нажатии на кнопку CONNECT клиент подключается к серверу - таймер (а может можно как то синхронизировать с дисплеем, чтоб изображение не дергалось?) отправляет на сервер координаты курсора мыши и информацию о нажатии кнопок мыши клиента, далее отправляет запросы на сервер о пересылке файла со скрином экрана сервера каждые 20 мС (или с частотой обновления экрана?) и отображает на TImage полученный файл - это должно продолжаться пока не пойдет команда на отключение клиента от сервера оператором. вопрос - правильно ли это? постоянное подключение к серверу? MSRDP Client именно так ведь и работает - при повторном нажатии на кнопку CONNECT, клиент отключается от сервера Подскажите структуру кода клиента, обеспечивающую: - гарантированное соединение клиента с сервером, при разрыве автоматически восстанавливающее соединение - вывод сообщения, наверно на компонент LABEL? о разрыве соединения. или в отдельное модальное окно? как правильно? пока есть вот такой код Код:
with IdTCPClient1 do или while connected do в общем, нужна подсказка |
19.07.2011, 17:36 | #2 |
Пользователь
Регистрация: 09.03.2010
Сообщений: 48
|
по событию onError сделай сразу же реконнект.
мсрдп работае так, да не совсем. Он постоянно подключен к серверу, НО он не бездумно шлет картинку, а только тогда, когда мыш на удаленной машине начала перемещаться, либо же, если ЗНАЧИТЕЛЬНАЯ часть картинки притерпела изменения. т.е. у них не 1024*768 кадр тебе идет целиком, а он разбивается на мелкие (какие размеры-врать не буду, по моему 128*128), и смотрит, если эта часть изменилась-то ее шлет клиенту. Таким образом получается, что у тебя в покое на уделенной машине меняется только нижний правый угол (где трэй с часами). по сути в таком состоянии сервер шлет тебе именно этот кусок и ничего больше. Собственно, благодаря такой технологии удалось таки сделать такую вот передачу картинки на расстояние по диал-апу, скажем, но опять же при опред. настройках качества самого изображения. По теме постояных реконнектов дисконнектов могу сказать- смотри внимательно код. У меня клиенты к серваку конектятся с утра (100-120 пк) и висят некоторые сутками, некоторые до ухода с работы. плюс минус посыл пакетов от некоторых. Никаких обрывов-разрывов не наблюдалось (логирование прикрутил, чего и тебе советую). Так что смотри внимательно код. |
20.07.2011, 19:23 | #3 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
где то Я читал, что сервер мсрдп шлет графические примитивы - описание изображения в формате типа текстового + тексты изображения
но сейчас речь не об этом почемуто при использовании ИНДИ10 (сервер-клиент) при установлении соединения с сервером удается передать на сервер только одну команду, остальные команды из клиента не выполняются. приходится разрывать соединение и по новой его устанавливать для передачи следующей команды в сервер кто то может дать комментарий? |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычислить в Excel ; Вознаграждение гарантированное | warma2d | Microsoft Office Excel | 5 | 07.05.2011 22:44 |
Распознавание Аски кода и скан кода | MyLastHit | Общие вопросы Delphi | 8 | 06.12.2010 18:34 |
Структура кода в Delphi 7. | Вадим Буренков | Общие вопросы Delphi | 8 | 15.03.2009 12:28 |
Сокеты, получение кода HTML страницы и обработка пропсов | ABTOP | C/C++ Сетевое программирование | 5 | 19.10.2008 11:49 |
Выдернуть куски кода из html-кода | trafbite | Помощь студентам | 7 | 18.08.2007 13:51 |