像QNAM这样的网络协议实现,延迟处理请求

时间:2012-11-14 06:41:10

标签: qt qt4

我需要实现在tcp上工作的网络协议,它基本上可以在下一步工作: 有推送的请求和读取的答案(只有一方可以发起请求)。 我想以像QNetworkAccessManager这样的方式实现它:当“requestst被发送时,QNAM返回指向回复的指针,一旦请求被提供 - 有一个信号,结果可以从”回复“对象中使用。 我确实想要在没有多线程的情况下实现它。

主要问题是:

如果未连接套接字,我有3个选项: 1)返回错误(返回null pointeter以回复对象就像返回错误) 2)从“sendRequest”内部发出“完成”(这是最邪恶的方法) 3)从“sendRequest”返回“reply”,然后发出请求失败的信号。 (最想要的)

我真的很喜欢第三种选择,但我现在看到的唯一方法是使用1 ms一次性调用的计时器 - 基本上看起来像执行此类事情的错误路径, 如何延迟执行插槽(将coockie等参数传递给请求)? 如果有一种方法可以延迟发送请求(例如推送请求到队列,从“回复”对象返回,然后通过网络发送实际请求)将会很好。 所有这些看起来都像处理事件 - 但我不确定如何最好地处理这个问题。 实施此类协议的最佳做法是什么? 有什么建议吗?

0 个答案:

没有答案