Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Хотелось бы получить список ASA серверов в локальной сети и на указанном компьютере. Существует ли готовая библиотека для использования в проекте на C++, которая не требует наличия на машине дополнительных компонент (т.е. ничего из дистрибутива самого ASA)? С уважением, Мартин Рахманов http://jimmers.russia.webmatrixhosting.net/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2005, 00:34 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmers пишет: > Хотелось бы получить список ASA серверов в локальной сети и на указанном > компьютере. Существует ли готовая библиотека для использования в проекте > на C++, которая не требует наличия на машине дополнительных компонент > (т.е. ничего из дистрибутива самого ASA)? Чем не устраивает утилита dblocate из дистрибутива? Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2005, 17:12 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmersХотелось бы получить список ASA серверов в локальной сети и на указанном компьютере. Существует ли готовая библиотека для использования в проекте на C++, которая не требует наличия на машине дополнительных компонент (т.е. ничего из дистрибутива самого ASA)? Да существует, но в ESQL. Читай в BOL про функцию db_locate_servers(). Из всего дистрибутива ASA понадобится только одна dblib?.dll. Которую можно будет скопировать прямо к себе в каталог :) В общем, читайте про Embedded SQL - оно очень вкусно, хоть и слегка заморочено :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2005, 17:37 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Требование заказчика - никаких зависимостей от Sybase. В идеале - код, компилируемый в моё приложение. Поэтому варианты с dblib* не подходят. Я уже написал почти код, одна проблема - как на UDP сокете обработать получение одновременное данных со многих хостов наилучшим образом? Я посылаю широковещательное сообщение на UDP порт 2638 и жду ответа. Ответить могут сотни машин одновременно... С уважением, Мартин Рахманов http://jimmers.russia.webmatrixhosting.net/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2005, 22:19 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmersТребование заказчика - никаких зависимостей от Sybase. В идеале - код, компилируемый в моё приложение. Поэтому варианты с dblib* не подходят. Не понял. Откуда такое требование и почему? Для чего может потребоваться получить список ASA серверов и при этом без использования ASA библиотек? Если заказчик боится, что со сменой версии сервера прийдется перекомпилировать клиента - то зря. dblib?.dll прекрасно совместим по вертикали. jimmersЯ уже написал почти код, одна проблема - как на UDP сокете обработать получение одновременное данных со многих хостов наилучшим образом? Я посылаю широковещательное сообщение на UDP порт 2638 и жду ответа. Ответить могут сотни машин одновременно... Ну это тебе не сюда вообще-то :) Это в учебник по сетевым технологиям. Сам я частно говоря UDP использовал очень мало, так что на память не подскажу а собственный учебник дома. Но я все равно не понимаю почему нельзя использовать dll от ASA, если уже и так известно что мы ищем именно ASA сервера. К тому же там в ответе может содержаться куча полезной информации, которую методом хака разобрать конечно можно, но потратишь слишком уж много времни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2005, 23:38 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Рассказываю подробно. Есть софт, который среди прочего должен обнаружить ASA сервера в указанной подсети или даже на указанной машине. Софт не должен быть завязан на Sybase по причине лицензирования, не говоря уже о том, что я очень сомневаюсь, что библиотека dblibN.dll не завязана ни на что больше (к примеру, на ключи в реестре). Это кратко про то, почему не катит решение от Sybase. Про db_locate_servers: она ищёт в локальной сети. А требуется и на указанном по IP компе также. Про хак: собственно, там всего три вещи в ответе можно найти, а именно имя базы, порт и IP сервера. С уважением, Мартин Рахманов http://jimmers.russia.webmatrixhosting.net/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 02:26 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmers пишет: > Я посылаю широковещательное сообщение на UDP порт 2638 и жду ответа. > Ответить могут сотни машин одновременно... Вообще-то говоря сервер ASA может быть поднят и на другом порту, отличном от 2638. Мало того, их может быть несколько штук одновременно на одной машине. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 09:26 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Не сочтите за дерзость, но тем не менее, разрешите мне рассказать немного об архитектуре ASA в плане обнаружения экземпляров, основываясь на документации и опыте работы с ним: Экземпляр может быть поднят на любом порту, но специальная служба, отвечающая за обнаружение экземпляров, всегда слушает на UDP порту 2638. При получении датаграммы опредёленного вида, эта служба отсылает ответ, содержащий имя базы, обслуживаемой экземпляром и порт, на котором экземпляр работает. Под службой я разумею отдельный поток процесса сервера. Разумеется, этот поток можно отключить - см. опцию -sb (не уверен, под рукой нет мануала). Вот об этом я и пишу – программа уже написана почти, сомнения только в обработке множества ответов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 10:19 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Не парься, это реально. Делал такую штуку, чтоб показывала сколько, какие и где стоят серваки. Правильным путем идешь. Слушаешь UDP порт и все, в чем проблема-то? Нужно только свой слушающий сервер биндить на широковещательный порт, а он может быть разный, от 192.168.255.255 до 255.255.255.255. Лучше всего взять сниффер и посмотреть какие пакетики, куда шлются. Но это уже сетевые технологии, и скорее всего это не тот форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 11:53 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
И еще. На счет разных портов, у меня не получалось слать на 2638 запрос, и получать ответ от сервера, который висит на 2650. Вот если слать на 2650, ответ приходит. В сети могут стоять всякие разные файерволы (или просто так сеть настроена), и серваки вообще могут быть не видны (родными средствами тоже). Создавая собственное средство в этом месте, Вы ограничиваете функционал системы. Лучше вообще отказаться от "поисковиков". Вдруг они (заказчик) сменят версию АСА, или другую СУБД возьмут. Хотя, конечно же, если просят - их проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 12:23 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
2iLLer Вы не совсем поняли суть проблемы. ASA всегда слушает на UDP 2638 (конечно, если broadcast не отключен через опцию –sb). Клиент, который ищет экземпляры в сети, рассылает широковещательное сообщение на UDP порт 2638. Тут вариантов нет и быть не может – иначе бы ничего не работало в принципе (я про то, что номер порта фиксирован). Конечно, при прохождении через firewall этот трафик может быть отрублен (и будет отрублен, если firewall настроен правильно) – но это не мои проблемы. Далее, если в локальной сети тысячи экземпляров ASA и все они разом ответят клиенту, то надо корректно обработать ответы – не потерять ничего, не зависнуть и т.п. Вот это и проблема – как написать этот код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 12:30 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmersВы не совсем поняли суть проблемы. ASA всегда слушает на UDP 2638 (конечно, если broadcast не отключен через опцию –sb). Клиент, который ищет экземпляры в сети, рассылает широковещательное сообщение на UDP порт 2638. Версия какая? На моей 6.04 такое не работает. Не слушают сервера 2638, если они запущены на других портах - бесспорный факт, проверенный сниффером. С 9-ой не пробовал, может и слушает. jimmers Далее, если в локальной сети тысячи экземпляров ASA и все они разом ответят клиенту, то надо корректно обработать ответы – не потерять ничего, не зависнуть и т.п. Вот это и проблема – как написать этот код. Вкладываю пример. Как доработать разберетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 12:46 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Версию разумею свежайшую, т.е. девятку. Примера не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 12:49 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
P.S. По поводу древних версий: любопытно, как оно работает в 6-ке. Неужели там порт другой? И вообще, в шестой версии есть возможность получения списка ASA серверов в сети? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 12:53 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Что-то не вложилось, повтор. Способ в 6-ке есть, недокументированный, как я понимаю. В примере увидите, но повторяю еще раз, 6-ка не сидит на других портах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 13:12 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
Спасибо, вечером посмотрю на 6-ке под Linux. С уважением, Мартин Рахманов http://jimmers.russia.webmatrixhosting.net/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 16:27 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmersЕсть софт, который среди прочего должен обнаружить ASA сервера в указанной подсети или даже на указанной машине. Софт не должен быть завязан на Sybase по причине лицензирования, А вам не кажется, что тут есть легкая нестыковка? :) Если есть сомнения с точки зрения лицензирования, то вы не имеете права (с точки зрения лицензирования) перехватывать и напрямую работать с 2638-ым портом. И вообще, зачем искать ASA сервера если вы не собираетесь с ними работать? А без лицензии вы с ними работать не сможете. jimmersне говоря уже о том, что я очень сомневаюсь, что библиотека dblibN.dll не завязана ни на что больше (к примеру, на ключи в реестре). Зря сомневаешься. Не завязана. Не использует она ни ключей в реестре, ни дополнительных dll, и даже dblib6.dll запросто подключится к девятому серверу. jimmersПро db_locate_servers: она ищёт в локальной сети. А требуется и на указанном по IP компе также. А к указаному по IP компу надо просто попытаться подсоединиться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 17:21 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
White OwlА вам не кажется, что тут есть легкая нестыковка? :) Если есть сомнения с точки зрения лицензирования, то вы не имеете права (с точки зрения лицензирования) перехватывать и напрямую работать с 2638-ым портом. И вообще, зачем искать ASA сервера если вы не собираетесь с ними работать? А без лицензии вы с ними работать не сможете. Не кажется. Где именно в лицензионном соглашении сказано, что я не имею права посылать и принимать пакеты своей тулзой? White OwlЗря сомневаешься. Не завязана. Не использует она ни ключей в реестре, ни дополнительных dll, и даже dblib6.dll запросто подключится к девятому серверу. Тогда вопрос лицензии всё равно в силе. White OwlА к указаному по IP компу надо просто попытаться подсоединиться :) Ну это уже полная чушь. Мне требуется получить список баз, работающих на указанном компьютере. Не больше, ни меньше. Подключение - совершенно иное действие. С уважением, Мартин Рахманов http://jimmers.russia.webmatrixhosting.net/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 17:28 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmers White OwlА к указаному по IP компу надо просто попытаться подсоединиться :)Ну это уже полная чушь. Мне требуется получить список баз, работающих на указанном компьютере. Не больше, ни меньше. Подключение - совершенно иное действие. К сожалению, получить список запущеных баз на сервере не подключившись к какой-либо из баз на этом сервере не возможно. Во всяком случае ни через один официальный протокол. Может быть получится это сделать напрямую через UDP. Может быть. Но меня до сих пор жутко мучает вопрос - ЗАЧЕМ??? Вы делаете универсальную утилиту администрирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 19:04 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
White OwlК сожалению, получить список запущеных баз на сервере не подключившись к какой-либо из баз на этом сервере не возможно. Ну это вы ошибаетесь. Откройте документацию на предмет dblocate, например. Или когда в Interactive SQL нажимают кнопку Find. Никакого коннекта к серверу не происходит, просто по UDP отсылается запрос. Почитайте документацию - про broadcast. Для чего я не могу сказать - NDA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 19:25 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
jimmersСпасибо, вечером посмотрю на 6-ке под Linux. С уважением, Мартин Рахманов http://jimmers.russia.webmatrixhosting.net/ Не могу проверить, ибо 6-ка на Red Hat Enterprise Linux 3 не полностью работает: сам сервер пашет, а вот клиентские инструменты - нет, так как они требуют ncurses 4, тогда как в системе 5-ка (установить 4-ку нереально - огромное количество зависимостей от 5-ки). В этой связи у меня просьба к петербуржцам: у кого есть Red Hat Linux 5/6 либо ASA 9 под Linux - поделитесь, пожалуйста. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 00:45 |
|
||
|
Список серверов ASA в проекте C++ (требуется библиотека)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 09:36 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=101&tid=2013572]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 322ms |

| 0 / 0 |
