?Интернет+модем.Растолкуйте плз без шаманизма.
Есть Windows98 (+ ее стандартные средства подключения к интернету) + модем + телефон (возможно-сотовый) + провайдер.
Итак, я представляю это в виде концепций: драйвер модема, протоколы, программы, тыры-пыры, елы-палы...
Встала задача внести в стандартные механизмы работы с интернетом некоторые изменения ради безопасности и удобства. Но мои знания для практики оказались, что называется, "слишком общими", т.е. поверхностными.
Просьба, если это не очень затруднительно, опишите, пожалуйста, как связаны все эти концепции с реально работающими программами, библиотеками, функциями, исполняемым кодом и каким образом и куда можно внести какие-либо изменения.
... в расчете на умного, но неподкованного слушателя :)
Не прошу сразу все, но... что-то достаточное чтобы начать программировать... пытаться...
Спасибо тем, кто готов потратить время на объяснения.
Модемы подключаются к последовательным портам (т.к. это устройства последовательной передачи данных) и используют свой протокол общения (AT-комманды).
Можно попробовать подключиться терминальной программой к последовательному порту (даже если модем PCI или USB он все-равно подключен через последовательный порт) и пообщаться с модемом посредством AT комманд.
Например:
ATDP5555555 - импульсный набор номера 555-55-55
CONNECT 44100 - подключение на 44100 бод
и т.п.
Описание AT-комманд иногда идет в инструкции к модему.
Не прошу сразу все, но... что-то достаточное чтобы начать программировать... пытаться...
Если только ты файрвол собственный не хочешь написать...
Для изучения тех же AT-команд и что конкретно делает Винда, полезно почитать INF-файлы, относящиеся к модему, и логи модемных подключений, которые в 2000/XP создаются автоматически.
Спасибо тем, кто готов потратить время на объяснения.
Фига! Отомстим! Будешь у нас INF-файлы читать.
Кстати, изменением INF-файлов можно заставить Windows считать один внешний модем за несколько. Бывает иногда нужно для работы с нестандартными параметрами и кривыми программами.
Описание AT-команд есть в инструкции.
Правильно ли я понимаю, что их можно прямым "текстом" посылать на последовательный порт, и считывать с него же ответ?
Уже что-то. По крайней мере, что касается настройки модема.
А как передавать/читать данные после установления соединения со вторым модемом? Нужны какие-то буферы или прямо также - AT-командами посимвольно?
А какова функция драйвера модема - обеспечить интерфейс AT-команд? После установки и настройки драйвера все обращения к заданному последовательному порту пойдут к модему и будут обработаны, даже если это какой-нибудь сотовый телефон с GPRS? AT-команды это стандарт или бывают различия у разных модемов?
А как, какими программами (файлами) все организовано в Windows98?
Общаться с модемом можно напрямую. Драйвер винды обычно создает виртуальный COM-порт для модемов PCI. А если модем вешается на COM порт и так, то драйвер особо ничего и не делает - только интерфейс API обеспечивает.
Подключиться к провайдеру можно из терминала - после запроса логина-пароля пойдет служебная информация (кракозяблы в терминале полезут) - это уже двоичные данные, в основном для настройки TCP/IP через PPP соединение (IP, gateway, DNS, etc.) - дальше работает протокол IP (т.е. пересылка IP пакетов идет в двоичном виде).
AT-комманды стандартные у всех модемов (и у мобилы твоей тоже :) за исключением нескольких комманд, присущих конкретному устройству.
А софт модемы? Помоему они как раз стандарта не понимают и AT-команды в них реализованы через драйвер.
А софт модемы? Помоему они как раз стандарта не понимают и AT-команды в них реализованы через драйвер.
Совершенно верно! :)
Но общаться с софт-модемом окромя, как через драйвер нельзя, так что конечному пользователю - все равно.
Если удаленный модем посылает данные, то как их прочитать?
Без терминала, можно ли программно передавать данные через стандартное устройство "com1" (или com3) и оттуда же принимать?
Если удаленный модем посылает данные, то как их прочитать?
Можно. Открываешь порт - пишешь в него и читаешь из него же - данные будут передваться и приниматься...
Я понимаю немного в концепциях, но как это реализовано физически?
Встала задача внести в стандартные механизмы работы с интернетом некоторые изменения ради безопасности и удобства.
Какая часть тебя интересует: работа модемов, работа винды с модемами, реализация протоколов,...?
А что за задача?
Посмотри в MSDN о RAS и TAPI.
ЗЫ. Почитал переписку с Archie, и честно говоря не понял о чем речь :(.
конечному пользователю - все равно.
Ну - это от оси зависит...
Попробуйте настроить на хорошую работу софт-модем в Linux, если он расчитан на винды. Рискуете слегка покоробить систему, да и знаниями в программировании нужно обладать нешуточными. Я например не смог :(, пришлось раздобыть нормальный модем :)
Хотя впрочем это уже офтоп - вопрос был про вынь 98.
Ну - это от оси зависит...
Попробуйте настроить на хорошую работу софт-модем в Linux, если он расчитан на винды.
Ну под Линуксом без бубна не каждое устройство настроишь. ;) Но, например, так распространенные у нас моторолы (Motorola SM56) имеет линуховый драйвер и работает с горем пополам...
//Какая часть тебя интересует: работа модемов, работа винды с модемами, реализация протоколов,...?//
А по какой части ты можешь ответить?
Сейчас вроде появилась хоть какая-то база для экспериментов чисто с модемом (попробую написать простенькую коммуникационную программку для двух модемов).
Но еще надо узнать, какие программы используются в стандартном наборе Windows98 для удаленного доступа: модули (читай - программы и библиотеки) для установления и управления модемным соединением, модули реализующие PPP, IP и выше. А потом, возможно, что-то заменить на свое.
//А что за задача?//
В общем - больше контроля за соединением, но все таки не файрвол.
В частности (как самостоятельная побочная задача, для сравнения) - написать какой-нибудь урезанный браузер, который сможет работать с интернетом через модем напрямую без использования виндовых сетевых возможностей.
В частности (как самостоятельная побочная задача, для сравнения) - написать какой-нибудь урезанный браузер, который сможет работать с интернетом через модем напрямую без использования виндовых сетевых возможностей.
Во! Вот тут если не шаманизм, то садомазохизм точно начинается!