3

我创建了一个基于无状态协议的流,认为 2 个 Web 服务器相互发送非常有限的请求。

因此,双方都不知道我是否突然停止,因为没有连接会关闭,根本不会有请求。请求中可能存在合法的差距,因此我不想将缺少它们视为失去联系。

我想要做的是发送一个心跳说“我还活着”,但当我从流中读取时,我显然不想要心跳数据,所以我的问题。

如何创建一个新的流类来包装另一个流并发送心跳数据而不将其暴露给调用代码?

4

1 回答 1

1

假设双方有 2 个类似的实现:发送带有标头的每个数据块,以便您可以安全地发送零数据心跳块。即将外部流上的写入转换为内部流上的多个写入,例如“{Data, 100 bytes, [bytes]}, {Data, 13 bytes, [bytes]}”,心跳看起来像“{Ping, 0 bytes, [] }”。在接收端立即以类似的空 Ping 响应。

于 2012-04-26T16:37:09.167 回答