Сбор и централизованное сохранение данных
Укажите нужное направление,пожалуйста,что где копать.С задачей сталкиваюсь впервые,навыков с работой с сетью нет
Поэтому прошу подсказать,как тут можно справиться
а у провайдера купить статический внешний IP можно? в нашей сети это копейки стоило, как щас не знаю - инфы чет не нашел
Может,есть какие-то службы связи серых IP?Например,какой-то сервер при подключении к нему клиентов сверяет переданный SessionId и,если он равен,связывает процессы.Пример–Garena(программа для игры в сетевые игры через интернет,т.е. эмулируется локалка)
Может,есть какие-то службы связи серых IP?Например,какой-то сервер при подключении к нему клиентов сверяет переданный SessionId и,если он равен,связывает процессы.Пример–Garena(программа для игры в сетевые игры через интернет,т.е. эмулируется локалка)
Зачем всем то покупать? Один IP для сервера купи, и по нему подрубайся с любых адресов.
Надеюсь,при попытке программной работы с ней проблем и сложностей не возникнет
…
Таки не совсем то[QUOTE=Википедия]Этот клиент постоянно отправляет сигналы DNS-серверу сервиса DynDNS, тем самым сообщая о своём IP-адресе. Сервер службы DynDNS сохраняет последний IP пользователя, и при обращении к пользовательскому доменному имени, полученному при регистрации, перенаправляет запрос на этот IP[/QUOTE]Если параллельно придётся работать с 2х компьютеров,IP будут разные.Так-то.Что-то не укладывается в голове,что тут можно сделать
Соответственно к одному ДНС привяжется только один айпи (сервера).
Именно на сервере Вы и откроете серверный сокет.
Хотя купить себе статику не проблема, у моего провайдера это стоит всего то 50р.
В данный момент я задумался над использованием FTP(благо есть домен с его поддержкой).Если будут вопросы(а они уже есть:)),отпишусь сюда
Делаю вот так
Mov hInternet,EAX
Invoke InternetConnect,hInternet,Addr szFTPServ,21,Addr szFTPUser,Addr szFTPPwd,Internet_Service_FTP,0,0
В чём может быть проблема?Неужели в том,что dwContextId равен 0?В MSDN написано,что такое может быть.В szFTPServ и далее содержатся валидные значения,так что не понимаю,в чём дело
Если включен автономный режим,возникает ошибка(GetLastError) 2F83,и до AV дело не доходит.А в противном случае возникает 6BA(RPC_S_SERVER_UNAVAILABLE которая,неясно почему) и возникает AV.Такие дела
А это не гадская Виста или 7?
Если Вас не затруднит - укажите их...
Данные будут передаваться пакетами с определённой периодичностью.Накапливается их немного,так что несколько килобайт
P.S.Я так понимаю,можно всё реализовать через сокеты,посылая команды FTP вручную…но для этого надо с ознакомиться и с сокетами,и с командами.Я считаю,что выбранный мной путь легче в освоении[COLOR="Gray"][SIZE="1"](правда,ошибки неиллюзорно намекают,что нет)[/SIZE][/COLOR]
Если включен автономный режим,возникает ошибка(GetLastError) 2F83
ERROR_INTERNET_DISCONNECTED
The Internet connection has been lost.
вопросы?
возникает 6BA(RPC_S_SERVER_UNAVAILABLE которая,неясно почему)
потому что кто-то, помнится, [COLOR="Silver"]дохуя[/COLOR]слишком фанатично лазает в системе. А я предупреждал. Теперь сам разбирайся.
вопросы?
Оно и не устанавливалось,чтобы теряться.Да и не сильно я по системе лазал(и уж точно не по связанному с RPC),такие дела
Тогда FTP это не лучший вариант, на мой субъективный взгляд. Лично я бы в данном случае выбрал бы обмен по POP3 или SMTP. Тем более завести ясчик(и) не составляет вообще никаких проблем. При этом протоколируется передача + из заголовка сообщения можно вытащить IPшники если в этом есть необходимость. + можно всегда достучаться и что не маловажно можно создать резервное дублирование. Протоколы просты до нельзя (у меня в свое время на это ушло 2 дня до рабочей программной реализации), исходники (если есть такая необходимость) найти вообще не проблема. (как и для FTP собственно).
Да через сокеты но команды по POP3 или SMTP. Сложного там вообще ничего нет, тем более Вам не надо писать собственный сервер. А выбранный Вами путь не легче, просто потому что WinNet заточен под HTTP и еще достаточно сырой и его рекомендуется использовать только так (если внимательно почитать что он предоставляет + dwContext не рекомендуется делать 0-лем).
PS Да вот еще что, в таких системах как правило реализуют локальное накопление и передачу когда появляется связь (есть еще места где есть проблемы с подключениями)...
Хостинг платный,за ящик там придётся дополнительно платить,вот.Так что я вполне не против FTP
Всё это многообразие мне не нужно,важны только данные
Все не так грустно как кажется - у меня когда то была необходимость совместно с исследованием для другого промышленного комплекса (вот там пришлось писать собственный сервер и протокол, так как используется очень большой объем неструктурированных данных), я написал тестовую прогу которая мониторит изменение файлов в системе и пишет об этом на ясчик на mail.ru. При этом компы законцованы у разных провайдеров, как раз почти Ваш вариант...
Я в этом ни сколько не сомневаюсь, но... сначала всегда кажется что больше ничего не нужно... "потом сапожки, потом сумочку к ним" и тд и тп :)
Вообще-то POP3 когда-то возник как расширение FTP. :)
Mov hInternet,EAX
Invoke InternetConnect,hInternet,Addr szFTPServ,21,Addr szFTPUser,Addr szFTPPwd,Internet_Service_FTP,0,0
Автор истинный извращенец, раз пытается работать с сетью на ассемблере. :D
Остается только предположить, почему работа происходит со столь высокоуровневым API? Почему бы сразу не на уровне ndis?
Да и предложил такой вариант из-за доступности проверенных требуемых ресурсов...
Изобретение нового почетное занятие, но не избавляет от ошибок, на которых (что опять же правильно) надо учиться...
Учиться надо на чужих ошибках и лишь потом на своих.
С моей колокольни все видится гораздо прозаичнее. Делается веб-сервис (XML или REST-фул - пофигу) и клиент к нему. На .NET3.5 задача вчерне решается где-то минут за 30-40 (сюда входит поиск халявного или не очень ASP.NET хостинга) и уходит в релиз.
Может быть стоит сперва инструменты подходящие выбирать? Не? ;)
PS> сорь за оффтоп, это я промышленную альтернативу ассемблеру показал.
- Золотые слова...
веб-сервис - это правильно в свете нынешних решений, и изначально была идея его же предложить, но сначала человек пусть решит какие "гайки крутить" а вот потом уже "ключи" к ним подбирать :) тем более что ну любит челавек ASM :)
PS перестал набирать в строке masm... когда в коде стало все реже и реже встречаться INT21 :)
P.S.Если можно,ссылочки для начинающих по вышеописанным протоколам.Почему не лезу в гугл?Хотелось бы уже вами проверенные,чтобы не наткнуться на какую-то лажу и тормозить из-за неё потом
[SIZE="1"][COLOR="Silver"]а ещё я не умею составлять правильные поисковые запросы (=[/COLOR][/SIZE]
Исходников много, как и описаний самих протоколов причем на русском языке (за столько лет существования уже перевели) :) но все что выкладыается это как правило пример использования, не дающий нужную реализацию...
На вскидку (где изучал некоторые вещи в юности) - http://sources.ru/cpp/cpp_network.shtml#6
Ладно,спасибо,буду изучать и пробовать