作者liu2007 (薯)
看板C_and_CPP
标题[问题] QT 如果是各位会选择哪种
时间Mon Nov 28 14:03:52 2022
我的开发平台是 win
工具是QT Creator
版本是Qt Core 5.15.2
我有两个工作
都是需要根据URL去取文字资料
只是取回的资料一个是html一个是json
以前是先做一个然後再做另一个
现在我要改成两个同时做
本来也没什麽问题
每个worker里面各自拥有QNetworkManager就好
但是官方文件那一句
「正常情况下一个程式一个manager就够了」让我耿耿於怀
如果要共用manager
势必得在get後,处理finish(QNetworkReply*)这个signal
目前想到的是
1)写一个中间人去协调。两个worker连结中间人,中间人再去连结manager,形成一个sig/slot链条。老实说我自己以前写过类似的sig/slot链,很阿杂,所以心里有某种抗拒
2)两个worker的do_finish() 的slot里面自己去判断抓回来的文字资料是不是自己要找的。感觉是最简单的解法,不用多写一个class,只是manager必定要多复制一份QNetworkReply,不确定是否为必要。
其余的就是没什麽好讨论的
3)自己拥有各自的QNetworkManager
4)问题太小,选哪个解法都没差
想请问如果是各位的话会选择哪种方式呢?
感谢阅读
-----
Sent from JPTT on my Asus ASUS_X00TDB.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.192.225.144 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1669615440.A.27A.html
1F:推 wulouise: 每次get都拿到一个reply, reply各自connect不同slot? 11/29 22:41
2F:推 wulouise: 这个class每个function都是reentrant, 资料不共用就没事 11/29 22:45
3F:推 jerohands: 我也是 Qt 爱好者,但我会选 cpp-httplib (逃 11/30 22:06