【问题标题】:How to connect to a PUSH server via http in Qt5如何在 Qt5 中通过 http 连接到 PUSH 服务器
【发布时间】:2014-06-03 17:23:56
【问题描述】:

查看 QNetworkAccessManager 我没有看到任何与“推送”相关的内容。 http://qt-project.org/doc/qt-5/qnetworkaccessmanager-members.html 与 POST 或 GET 不同,使用“推送”http 连接,您正在维护连接,以便您可以接收来自服务器的定期更新。 Qt5 中用于 HTTP REST“推送”客户端连接的正确功能是什么?或者可能是持久的 http 连接?

【问题讨论】:

标签: c++ qt push qt5 qtnetwork


【解决方案1】:
> How would I use QNetworkAccessManager to connect to an http push server?
<thiago> pEYEd: what HTTP command do you need to send?
> thiago good point. I am not sure. It looks like json  https://www.cryptsy.com/pages/pushapi
<thiago> pEYEd: JSON is not an HTTP command
<thiago> try again: what HTTP command do you need to send?
> i know
<thiago> pEYEd: let me try this: have you tried to simply get() the page?
> it looks like POST
> http://pusher.com/docs/client_api_guide/client_connect
<thiago> then use post()
> thiago will it automatically do a persistant connection?
<thiago> pEYEd: what exactly do you need to happen?
<thiago> it will keep giving you data as long as there's data to be given
> but it can't time out
<thiago> once the data ends, the connection may be closed or reused. But you cannot and must not care about it.
<thiago> there's no timeout mechanism in QNAM
> no FIN/ACK unless specified?
<thiago> that's at a much lower level
<thiago> the HTTP request/reply ends when the server says it ends
> the connection can't close. no fin/ack
<thiago> under HTTP/1.1, it ends when the number of bytes specified in Content-Length is reached
<thiago> or the chunked encoding says it's the last chunk
<thiago> if either of those conditions happen, the QNetworkReply signals the end
<thiago> then QNAM can do whatever it wants to the socket
> Thank you!

【讨论】:

    猜你喜欢
    • 2015-05-09
    • 1970-01-01
    • 2018-08-02
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多