Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создание сетевого подключения на PC
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
Make_Pic
Помогите пожалуйста. Как можно из программы, которую я пишу для фирмы в Qt4.8 сделать так, чтобы она (программа)создавала модемное сетевое подключение в системе WIN XP,7, а потом его запускала т.е. делала коннект (имитировало нажатие кнопки "Вызов") и прерывало его когда необходимо (кнопка "Отмена")? Можно посмотреть примеры такого приложения на Qt?
Возможно этоделается не так, а по другому - подскажите пожалуйста.
P.S. Используется виртуальный COM порт на PС. Мне поставили задачу, добавить в мою программу что то наподобие примитивного коннект менеджера 3G модема, подключенного чере USB виртуальный COM порт.
FireBlack
Цитата(Make_Pic @ 31.8.2014, 9:51) *
Помогите пожалуйста. Как можно из программы, которую я пишу для фирмы в Qt4.8 сделать так, чтобы она (программа)создавала модемное сетевое подключение в системе WIN XP,7, а потом его запускала т.е. делала коннект (имитировало нажатие кнопки "Вызов") и прерывало его когда необходимо (кнопка "Отмена")? Можно посмотреть примеры такого приложения на Qt?
Возможно этоделается не так, а по другому - подскажите пожалуйста.
P.S. Используется виртуальный COM порт на PС. Мне поставили задачу, добавить в мою программу что то наподобие примитивного коннект менеджера 3G модема, подключенного чере USB виртуальный COM порт.

Судя по всему Вам надо через COM порт подключиться к GPRS модему, установить соединение и дальше использовать обычное сетевое?!

Для работы с COM портом начиная с Qt 5.1 был введен класс QSerialPort. Но т.к. Вы используете Qt 4.8, то придется использовать другие, похожие библиотеки, например QextSerialPort.

Чтобы установить соединение необходимо использовать AT-команды, о которых можно почитать в интернете, например здесь или здесь.
В общем случае, для Huawei модемов используется следующая последовательность команд:
посылаем ATE1
модем отвечает OK
посылаем AT+CGDCONT=1,"IP","internet"
модем опять отвечает OK
далее устанавливаем соединение командой ATD*99#
если модем отвечает CONNECT, значит соединение установлено.
(Конечно набор команд зависит от самого модема и используемого оператора. Я бы рекомендовал сначала, попробовать установить соединение вручную через терминал, а уж потом реализовывать все это в коде)

Ну а после установления соединения можно использовать обычный QtNetwork.
Make_Pic
Цитата(FireBlack @ 1.9.2014, 10:54) *
Ну а после установления соединения можно использовать обычный QtNetwork.

Как делать соединение на модеме я знаю, как работать с COM портом из Qt то же разобрался (только вопрос остался по Qt5 и встроенному в эту версию QtSerialport - Остался баг с подтрмаживанием обмена по COM порту при перемещении или изменении размеров окна?).
Вопрос мой был в другом, а именно Я ий Ot сделал AT командами соединение с интернетом в самом модеме 3G, но как теперь с COM порта перенаправить поток, подключение в PC WIN 7, так чтобы программы имели доступ в интернт, короче было нормальное подключение к интернету чере 3G модем? Через мастер подключений в самом WIN 7 это я делаю с модемом без проблем.
FireBlack
Цитата(Make_Pic @ 4.9.2014, 5:58) *
Остался баг с подтрмаживанием обмена по COM порту при перемещении или изменении размеров окна?

Это связано с тем, что судя по всему, у Вас работа с COM портом производится в основном потоке, где обрабатываются события интерфейса. И Вам следует создать специальный поток для работы с COM портом.

Цитата(Make_Pic @ 4.9.2014, 5:58) *
...чтобы программы имели доступ в интернт, короче было нормальное подключение к интернету чере 3G модем

Теоретически, после установления соединения должно появится новое сетевое подключение, через которое все программы и будут выходить в интернет.
Если его нет, то прошу прощения, значит мое предположение не верно. И Вам проще всего использовать дополнительное ПО для установления соединения. В Linux'е, я бы использовал WvDial. Под винду в интернете нашел:
3G Modem Internet Dialer - софтину с интерфейсом, в исходном коде которой можно посмотреть как это делается;
DotRas - библиотеку, которую можно использовать для установления соединения;
Qt Cell Module - модуль для работы с телефонией;
и MSDN документацию - для программного создания соединения.
Что из этого подойдет не знаю, тут только пробовать надо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.