tumanovalex
Помогающий
Offline
|
|
« : 26-02-2009 05:11 » |
|
Мне хотелось бы управлять своим компьютером из другого места. Программы для управления компьютером требуют знания IP адреса, а адрес у меня динамический (провайдер - Стрим). Подскажите, пожалуйста, с помощью каких функций API можно сделать следующее: определить момент, когда компьютер установил связь с провайдером, определить IP адрес компьютера и отправить его на определенный почтовый ящик? Может быть есть готовое решение (интересует решение в виде службы(сервиса) - чтобы запускалась и все время работала)?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 26-02-2009 05:27 » |
|
tumanovalex, пусть твой комп сам подключится к твоей удалённой программе
|
|
|
Записан
|
|
|
|
tumanovalex
Помогающий
Offline
|
|
« Ответ #2 : 26-02-2009 05:33 » |
|
А как это сделать? У меня на удаленном месте тоже динамический IP адрес.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #3 : 26-02-2009 07:02 » |
|
ну тогда да, проблемка ) Ждём специалистов
а через почту может медленно доходить, хотя вариант теоретически рабочий - изучай протоколы SMTP и POP3 (уже было на форуме, ищи поиском)
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #4 : 26-02-2009 07:09 » |
|
tumanovalex, а дозвон к провайдеру твой сервис должен осуществлять, или пользователь?
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #5 : 26-02-2009 07:33 » |
|
Ломиться переодически в инет, на какой-нибудь сайт определения внешнего адреса, как только достучался - слать почту.
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Sla
|
|
« Ответ #6 : 26-02-2009 07:46 » |
|
поднять DYNDNS
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
zubr
Гость
|
|
« Ответ #7 : 26-02-2009 07:57 » |
|
IP можно легко определить и локально. Код дельфийский, используются функции winsocket, так что легко переведешь в VC++ function GetLocalIP: String; const WSVer = $101; var wsaData: TWSAData; P: PHostEnt; Buf:PChar; begin Buf:=StrAlloc(128); Result := ''; if WSAStartup(WSVer, wsaData) = 0 then begin if GetHostName(Buf, 128) = 0 then begin P := GetHostByName(Buf); if P <> nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^); end; WSACleanup; end; end;
А вот определить, когда подключился к провайдеру - если прога подключается, то можно юзать протокол PPP, в противном случае просто периодически пинговать какой нибудь стабильный сервер. Что касается отправки на почту Алексей1153++ уже ответил. Поищи на форуме.
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #8 : 26-02-2009 08:37 » |
|
это что за адрес получится? локальный? если пров NAT узать будет - как ты узнаешь как адрес выглядит из интернета?
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Sla
|
|
« Ответ #9 : 26-02-2009 08:49 » |
|
Ждем автора с подробностями... Какой ip получает комп (серый через nat или белый, что наиболее возможно) Во втором случае надо договариваться с провом о пробросе портов.
upd. ашипся в фразе
|
|
« Последнее редактирование: 26-02-2009 08:59 от Sla »
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #10 : 26-02-2009 08:51 » |
|
поднять DYNDNS
Поддерживаю. Сервис dyndns.org бесплатен (в необходимых тут рамках). Просто вещается программка, которая периодически сообщает внешний IP (определяет автоматом) машины на сервис. Доступ к машине осуществляется по DNS-имени. Естественно, нужно пройти регистрацию на сайте и выбрать себе доменное имя 3-го уровня среди предложенных доменов. Кстати, если есть другой свой домен 2-го уровня и есть, где его хостить, то легко можно назначить машине и его через CNAME: pupkin.ru. CNAME pupkin.dyndns.org.
|
|
« Последнее редактирование: 26-02-2009 08:53 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Kivals
|
|
« Ответ #11 : 26-02-2009 12:40 » |
|
Для управления компом издалека есть еще вот такая приблуда: https://secure.logmein.com/products/free/features.asp?lang=enесть бесплатная и платная версии. требует установки приблуды на оба компа (управляемый и управляющий). Все никак не соберусь попробовать... В случае честного IP от прова - поддерживаю DYNDNS
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #12 : 26-02-2009 13:47 » |
|
Kivals, почитал guide, прикольно. но идея практически та же - использование стороннего ресурса для идентификации компьютера в сети.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Kivals
|
|
« Ответ #13 : 26-02-2009 13:51 » |
|
Sla, согласен, но направленность именно на управление компом конечным пользователем.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #14 : 26-02-2009 13:57 » |
|
тут какая штука, при таком управлении используется сторонний ресурс как буфер, но никак не point-to-point. (это я понял из описания)
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Kivals
|
|
« Ответ #15 : 26-02-2009 14:05 » |
|
вроде в платном варианте можно PTP: фича "Direct Connect". И еще: ИМХО она должна уметь доступаться из-за proxy/firewall Но я уже писал - если IP честный - то я тоже поддерживаю dyndns, хотя у меня самого по старинке: отправляется e-mail/sms при смене IP. Cкрипт самописный (на WSH/JScript), запускается раз в 10 минут (по шедулеру), привязан к MAC адресу (т.к. на сервере несколько сетевых интерфейсов)
|
|
|
Записан
|
|
|
|
tumanovalex
Помогающий
Offline
|
|
« Ответ #16 : 26-02-2009 16:00 » |
|
Насколько я знаю, прокси никакого нет (я знакомому сам настраивал ПК), NAT ни у меня, ни у него не используется. У меня неограниченный Стрим, у знакомого выход через адаптер SkyLink. Я не очень понял, как использовать dyndns.org (плохо знаю английский). Мне нужно со своего компьютера и с компьютера своего знакомого завести учетные записи и установить какое-то программное обеспечение? А дальше знакомый должен делать какие-либо операции или нет?
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #17 : 26-02-2009 16:22 » |
|
Можешь создать одну запись на dyndns - она нужна для управления экаунтом. В ней добавить компы, которые будешь знать как tumanovalex.dynalias.com и tumanovalexfreind.dynalias.com (ну или как придумаешь, но в домене .dynalias.com). На компы ставишь софтину, в которой прописываешь данные учетной записи и компа - и все. Софтина периодически соединяется с сервером dyndns и отправляет в него свой адрес - а ты из любого места по имени у нему доступаешься. Что касается NAT и proxy (в режиме tarnsparent) - то пока не проверишь точно не узнаешь, т.к. их может использовать провайдер, а ты (при обычном инет-серфинге) про это даже не догадываешься
|
|
|
Записан
|
|
|
|
tumanovalex
Помогающий
Offline
|
|
« Ответ #18 : 27-02-2009 04:25 » |
|
Попробовал я управление через logmein.com, все очен медленно. Хотелось бы найти способ прямого управления. А как проверить, использует провайдер для выдачи мне адреса NAT или нет?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #19 : 27-02-2009 07:00 » |
|
ipconfig покажи
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Kivals
|
|
« Ответ #20 : 27-02-2009 08:49 » |
|
Медленно может быть из-за асинхронного канала (скорость приема большая - скорость передачи низкая). Вообще отправляются файлы с такой же скоростью, как и скачиваются?
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #21 : 27-02-2009 09:24 » |
|
А как проверить, использует провайдер для выдачи мне адреса NAT или нет? Самый простой и понятный способ: посмотри состояние соединения и внешний адрес на каком-нибудь сайте, я использую 2ip.ru
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
tumanovalex
Помогающий
Offline
|
|
« Ответ #22 : 27-02-2009 15:19 » |
|
Канал к сожалению медленный. Спасибо большое, буду экспериментировать.
|
|
|
Записан
|
|
|
|
|