QNetworkAccessManager. Обмен данными через свой сокет. |
Здравствуйте, гость ( Вход | Регистрация )
QNetworkAccessManager. Обмен данными через свой сокет. |
MishaUA |
24.5.2017, 15:02
Сообщение
#1
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Обычно при запросах через QNetworkAccessManager, он устанавливает соединение с сервером, передает ему данные и получает ответ, для этого он использует какой-то свой сокет. У меня задача немножко не стандартная.
Мне надо сделать так, чтобы программа с QNetworkAccessManager работала в качестве сервера, к ней подключался клиент (который является веб-сервером), далее создавался QTcpSocket и далее обмен данными происходил уже через него. Сам сервер, с которого надо будет запрашивать файлы, является неким устройством, которое можно настраивать по сети. Но из-за NAT к нему нельзя подключиться, поэтому надо сделать так, чтобы оно подключалось к программе (на пк, где она стоит, есть белый IP). Собственно, вопрос состоит в том, как "подсунуть" QNetworkAccessManager'у свой QTcpSocket, ну или просто свои методы чтения/записи по сети. Если с этим ничего не получится, то придется работать вообще без QNetworkAccessManager, на голом QTcpSocket, но не хотелось бы тратить время))) На стороне устройств-сервера это легко реализуется, там вопросов нет. |
|
|
Алексей1153 |
25.5.2017, 8:19
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
создать QTcpServer и слушать порт. Сигнал newConnection() соединить со слотом, где вызвать nextPendingConnection() и через полученный сокет делать обмен
|
|
|
MishaUA |
25.5.2017, 18:19
Сообщение
#3
|
Участник Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: 0 |
Примерно так и сделал, потом просто изменил концепцию)))
Но за ответ спасибо! |
|
|
Текстовая версия | Сейчас: 24.11.2024, 8:55 |