请求 - 带有异步 .Net 套接字库的响应模式
Posted
技术标签:
【中文标题】请求 - 带有异步 .Net 套接字库的响应模式【英文标题】:Request - Response pattern with Async .Net Sockets library 【发布时间】:2012-01-24 20:33:59 【问题描述】:我创建了当前能够在服务器和客户端之间交换单个数据包的异步库。现在我正在尝试设计一种以“请求-响应”方式处理数据包的机制。
更准确地说,让我们看看这个场景:
-
客户端发送 GiveMeFile 数据包
服务器收到后立即回复HereIsYourFile响应包
客户端收到此响应并保存文件
在第 2 步中,客户必须期待响应,并且必须在特定时间收到响应。
我正在考虑某种“预期”响应队列,这将清除所有收到的响应,但我不确定这是否是个好方法。
您对如何实现异步请求-响应模式有任何建议吗?
【问题讨论】:
您应该通过一些细节改进您的问题:您的命令是否必须是通用的或恒定的,例如我有“giveMeInt”和“giveMeString”命令,如果我想实现更多,我只需将“giveMeBytes”添加到可能的命令列表中并对此做出响应。这样更容易理解要走的路。 【参考方案1】:我已经使用SocketAsyncEventArgs 实现了一个高性能 TCP 服务器。你可以在谷歌上搜索它,但有一篇不太老的文章here 仍然很有用。 SocketAsyncEventArgs
完全为我设计了一个并发 TCP 服务器。
【讨论】:
以上是关于请求 - 带有异步 .Net 套接字库的响应模式的主要内容,如果未能解决你的问题,请参考以下文章