【发布时间】:2012-01-24 20:33:59
【问题描述】:
我创建了当前能够在服务器和客户端之间交换单个数据包的异步库。现在我正在尝试设计一种以“请求-响应”方式处理数据包的机制。
更准确地说,让我们看看这个场景:
- 客户端发送 GiveMeFile 数据包
- 服务器收到后立即回复HereIsYourFile响应包
- 客户端收到此响应并保存文件
在第 2 步中,客户必须期待响应,并且必须在特定时间收到响应。
我正在考虑某种“预期”响应队列,这将清除所有收到的响应,但我不确定这是否是个好方法。
您对如何实现异步请求-响应模式有任何建议吗?
【问题讨论】:
-
您应该通过一些细节改进您的问题:您的命令是否必须是通用的或恒定的,例如我有“giveMeInt”和“giveMeString”命令,如果我想实现更多,我只需将“giveMeBytes”添加到可能的命令列表中并对此做出响应。这样更容易理解要走的路。
标签: c# .net sockets asynchronous