Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Ваши программы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.09.2010, 09:43
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию Web display (связь с пк без чистого айпи)

Однажды у меня возник вопрос «Как связаться клиенту с сервером, если они обое находятся во внутренних сетях и их реальные айпи не известны?». Конечно можно взять у провайдера белый айпи, или хостинг, но это стоит денег и для легких задач или тренировки как то деньги тратить не хочется. Сразу на ум пришла идея использовать какой-то промежуточный сервер. Но какой? Я задал вопрос на форуме и мне начали говорить про VPN сети. Я в них толком и не вникал, но понял что их использование и настройка довольно сложны. А что если мне надо снимать показания с какого-нибудь прибора, который подсоединен на другом ПК, или просто управлять ПК с любой точки мира, а замарачиватся с VPN не хочется? Тогда пришла в голову идея использовать ICQ. Наш сервер будет иметь один UIN, который не будет изменяться, а клиенты будут использовать динамические UIN которые они могут получать со страницы твоего веб сайта которая ясное дело никому не известна . На теории все выглядит красиво, а как на счет практики? Так как я поставил себе за цель управлять каким нибуть устройством на удаленном ПК, то я отыскал у себя небольшой символьный дисплей который подключается к ПК через USB. На дисплее должна отображаться информация, которая вводится в мемо в клиенте. Причем информация на дисплее должна изменятся сразу после изменения текста в мемо.
Задача поставлена, а теперь за дело.
Первое- это создаем сервер. Для соединения с ICQ сервером используем TICQClient, который можно бесплатно скачать. Описывать создание самого сервера я не буду, так как нужно разбирать интерфейс соединения с дисплеем, работу с клиентом и т. д. Для тех, кто работал с компонентами инди составить протокол обмена сообщениями клиента и сервера не составит труда. Я вылаживаю только скрин сервера:

Далее клиент. Его работу я тоже не описываю вот скрин:

А вот результат роботы:

Плюсы такой технологии:
- Связь с сервером с любой точки планеты, где есть Интернет
- Легкая переноска сервера на любой ПК
- Быстрая настройка и легкость обмена сообщением

Минусы:
- Время пересылки сообщений (оно мало заметно, но всё же есть)
- Ограничение длины сообщений (читать про протокол ICQ)
- Бан при частой пересылке сообщений (это самый главный недостаток)


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


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter