我正在为龙卷风中的hl7协议编写一个异步tcp-forwarder(实质上,消息被转发到另一个端点并返回,而套接字保持打开状态。)
目前,该实现是TCPServer的一个实例,其通道连接到另一个目的地。所以有套接字,s1< - > s2和s3 - < - > s4,其中s1是客户端,s2是TCPServer实例接受的套接字,s3是转发器,s4是我们想要与之交谈的实际端点。
现在假设s4发出错误并关闭频道。在IOStream的套接字对象s3中,错误被设置为例如ECONNREFUSED。
如何传播此错误以告诉客户端s1发生了什么。本质上,我想用一个错误(或任何其他错误)关闭套接字s2来指示发生了什么。它不一定是ECONNREFUSED,因为在设置通道时这个已经上升,并且这已经发生在s1和s2之间。
感谢 马库斯