Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Technology for sending data to internet servers



  • Hello everyone,

    I want to implement a fast and secure data-transfer to an internet server but am a little lost about what technology to use. I found different approaches and examples but no real comparison of the pros and cons of the possible technologies.

    The data i want to send is just a datetime and a number, but I have loads of them, like 10 data-pairs a second.

    As far as i found out QUdpSocket should be the fastest way but (as I am no pro) I am a little concerned about security issues here. How easy will it be for others to read the data I send?

    My initial idea was to send files (with i.e. 10 data-pairs) using FTP and TLS. But QFtp seems not to support TLS encryption. At least I couldnt find anything about it in the docs.

    What do you think? Am I too cautious here? And what approach would you use to fastly and securely (and maybe easily) send such data to a internet server?

    Sorry for my basic question. I am a beginner but enthusiastic about learning. Therefore I really dont want code examples, just a hint which way (with Qt) would best fit my needs.

    Thanks in advance for all your thoughts!


  • Lifetime Qt Champion

    Hi and welcome
    It's a little unclear what internet servers covers.
    Often for data transfer there is a protocol for how to transfer/structure the data.
    like http / ftp / etc

    So will you also program the server? or must you talk to existing server?
    What protocol will it be using ?

    There are many ways to make this
    http://doc.qt.io/qt-5/qtnetwork-programming.html

    http://doc.qt.io/qt-5/qnetworkaccessmanager.html
    QNetworkAccessManager providing easy and hi level access and
    http://doc.qt.io/qt-5/qtcpsocket.html#details
    for the low level but often used approach.

    QUdpSocket as you mention, is a connectionless protocol and maybe not fit for your use case as its often used for update to many clients and would be extremely easy to capture.qtcpsocket is normally used for the connecting to server case.

    Depending on what the server is. I would look at samples
    for QNetworkAccessManager.

    Can I ask why u need security for "datetime and a number" and what kind you of security you mean?



  • Hi!
    I suggest to use websockets together with TLS and certificates on both server and client side. See http://doc.qt.io/qt-5/qtwebsockets-examples.html as a starting point.



  • Thank you for the replies and the the warm welcome! Here comes the information that was missing in my first post:

    Id like to programm the client which is sending the data as well as the server who receives and saves the data. So there are no limitations or given protocols on server-side.

    The sent data will not be sensible at all so its no problem if someone reads it. My concerns are that the server could be abused and flood with data if I work without encryption (i.e. while sending username and password).

    I was hoping to get around certificates as they are yet another unknown topic for me - but I will cope with it if thats the best way to do it. After work I will be able to have a deeper look into the suggested ressources! Looking forward to that!!


  • Lifetime Qt Champion

    This post is deleted!

Log in to reply