使用队列处理逻辑时如何正确处理套接字断开连接事件



我正在用C#实现TCP服务器并使用队列来处理接收到的数据。也就是说,从异步接收回调,在线程安全队列结构中对事件进行排队,从主线程处理队列,弹出事件并通过执行一些逻辑操作来处理它,然后将数据发送回去。对于断开连接的回调,还会对相应的事件进行排队。但是,由于套接字已经断开连接,因此在发送数据时,将抛出异常。

我想知道是否有更好的方法可以在基于事件的框架中处理这种情况?

我可以在每次发送中使用尝试捕获,但它很丑陋。

您可以使发送非阻塞,在成功启动时返回成功,然后返回完成/失败事件。可能是一个包装器,所以只有一个尝试捕获。

相关内容

  • 没有找到相关文章

最新更新