crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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  


Примерно так и сделал, потом просто изменил концепцию)))
Но за ответ спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.11.2024, 8:55