我无法快速复制,但我知道如何复制。
当我的客户端连接到服务器并且我的客户端空闲很长时间(它等待服务器给它一个 msg 作为它订阅的东西)时,它正在使用binaryread.ReadByte()
它被类型转换为一个枚举并在交换机中使用。在一段未知的时间后,服务器可能会向它发送一条消息,但由于连接已经空闲很长时间,服务器会收到异常并了解客户端已断开连接。客户端(仍在执行 ReadByte() 的交换机上)没有收到异常,只是坐在那里。它甚至没有意识到它已与服务器断开连接。
为什么不呢?我该如何解决这个问题?现在我直接使用networkstream(这是二进制读取正在使用的流),但我认为这不是正确的解决方案。
我该如何正确解决这个问题?