Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Request for Advice - Is QNetworkAccessManager appropriate for a high performance scenario?

Request for Advice - Is QNetworkAccessManager appropriate for a high performance scenario?

Scheduled Pinned Locked Moved General and Desktop
4 Posts 2 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tmason101
    wrote on last edited by
    #1

    Hello,

    I am hoping Qt experts can give guidance on the following application I would like to build using the Qt framework.

    I am working on a networked Qt application where I will be performing the following:

    An OpenGL Graphics Pipeline/Output via QWindow+QOpenGLFunctions

    Capturing of proprietary hardware device data (via C++ and hardware device API)

    Processing of proprietary hardware device data with OpenGL engine mentioned in first step

    Web Camera and audio capture & processing via QT multimedia platform

    Processing and compression of data for transmission and reception with networking API (Using QT or other platform).

    So, what I am worried about is the section in bold.

    Essentially the question is if QNetworkAccessManager is designed in such a way where it can operate in a client and server fashion or is it just for sending and receiving web requests.

    QNetworkAccessManager works really well for my needs with JSON posting/receiving as well as file downloads but can it also be used for a high performance application where I am streaming large amounts of compressed audio/video AND sending/receiving application data in real time?

    If not, may you recommend either aqnother QT object/api? Or a library that can work well with QT?

    Thank you for your time and attention on this request for advice.

    1 Reply Last reply
    0
    • C Offline
      C Offline
      ckakman
      wrote on last edited by
      #2

      Hi,

      QNetworkAccessManager is NOT designed to be used as an HTTP server. It supports client-side HTTP and FTP requests.

      Do you streaming audio/video data over HTTP? If not, I'd suggest that you use QTcpSocket. If you can give up some reliability, you can also use QUdpSocket, which would probably be faster than QTcpSocket.

      1 Reply Last reply
      0
      • T Offline
        T Offline
        tmason101
        wrote on last edited by
        #3

        Hello,

        Thanks for the reply. I'd like to use the QUdpSocket for the audio/video streams and QTcpSocket for the program data and application synchronization.

        Perhaps I'll also use QNetworkManager to send/receive data to the web cloud stack we are developing for this application as well.

        Thank you for the suggestion!

        Other suggestions are welcome.

        1 Reply Last reply
        0
        • C Offline
          C Offline
          ckakman
          wrote on last edited by
          #4

          One more thing: If you are only using Windows machines both on the sending and receiving end, you can also use QLocalSocket. I don't have any speed comparison with QtTcpSocket but it may be a tad faster than a TCP connection.

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved