我有一个第三方协议模块(SNMP),它建立在异步核心之上。异步核心接口用于处理响应消息。在异步核心主循环运行时,设计生成协议请求端的客户端的合适技术是什么?我现在可以想到两种选择:
什么是最好的选择?我正在研究第二个解决方案,因为协议API不允许我直接访问异步核心参数。如果我误解了使用异步核心的正确技术,请纠正我。
发布于 2010-04-29 03:45:05
我通过在接收进程的异步核心循环中添加一个回调函数来解决这个问题。
该解决方案在某种程度上是特定于我所实验的模块(pySNMP)的,但是这里有一个总体想法:
dict和window变量的存储引用。dict跟踪预期的响应,window是发送方缓冲区的大小。writeable中执行-- dispatcher的超时为一个小值。这可以防止异步核心在等待接收到的数据包时阻塞太久。我用了.05秒。越低,应用程序的响应就越多,但不要太低。dict结构中删除接收到的响应。这将允许新消息被transmitted.。
https://stackoverflow.com/questions/2626512
复制相似问题